Přejít na obsah
Skip to main content

Požadavek cnthash

Účel a dopady​

Spočítá hash (otisk) vstupních dat zvolenou hashovací funkcí. Bez vedlejších účinků, jen počítá a vrací výsledek.

Dostupnost, kontext, oprávnění apod.​

Dostupné každému přihlášenému uživateli, bez zvláštních omezení.

XML požadavek (syntax + popis)​

<request>
<cnthash
hash="{string}"
input="plain|base64|unicode|hex|url|jwt"
part="{number}"
data="{string}"
output="{string}"
>
{string}
</cnthash>
</request>

Parametry a pravidla (atributy, potomci)​

Zpracování cnthash sdílí jeden dispečer se encrypt, decrypt a cnthmac:

  • hash - Hashovací funkce – libovolný název podporovaný OpenSSL, navíc crc32/crc64. (typ: string; nepovinný; výchozí: sha256)
  • input - Formát vstupních dat: plain|base64|unicode|hex|url|jwt. (typ: enum; nepovinný; výchozí: plain) – hodnota jwt (spolu s atributem part) v dosavadní dokumentaci chyběla.
  • part - Jen s input="jwt": pořadí segmentu JWT tokenu (odděleného tečkou) k dekódování. (typ: number; nepovinný) – v dosavadní dokumentaci zcela chyběl.
  • data - Vstupní data. (typ: string; nepovinný) – chybí-li tento atribut, použije se jako vstup obsah samotného uzlu <cnthash> (text/vnořené XML serializované beze změny).
  • output - Řetězec jedné nebo víc (mezerou oddělených) po sobě jdoucích konverzí výstupního formátu: plain|base64|hex|url|xml|json|unicode. (typ: string; nepovinný; výchozí: base64)

Příklady požadavku​

(Zatím bez ověřeného příkladu.)

Zpracování a vedlejší účinky​

Neplatné/chybějící vstupní parametry (např. neplatná hodnota input, žádná data) vedou k detail="Nespravny parametr"; samotné selhání výpočtu (např. neznámý název hashovací funkce) vede k detail="Pri provadeni doslo k chybe" – jde o dvě odlišené chybové situace.

XML odpověď (syntax + popis)​

<response>
<cnthash type="ok" value="{string}"/>
</response>

nebo, byla-li vstupní data zadána jako obsah uzlu (ne atributem data):

<response>
<cnthash type="ok">{string}</cnthash>
</response>

Zásadní oprava: výstup se vrací buď v atributu value, nebo jako přímý textový obsah elementu <cnthash> – přesně podle toho, zda byla vstupní data zadána atributem data, nebo obsahem uzlu. Nikdy nevzniká samostatný vnořený element (dosavadní dokumentace uváděla obecný <element> s textovým obsahem, což platí jen pro variantu bez data).

Příklady odpovědi​

(Zatím bez ověřeného příkladu.)

Chyby a reakce​

  • type="error" detail="Nespravny parametr" – neplatný/chybějící vstupní atribut nebo chybějící data.
  • type="error" detail="Pri provadeni doslo k chybe" – selhání samotného výpočtu (např. neznámá hashovací funkce).

Obě chybové odpovědi jsou sebeuzavírající, bez vnořeného error.

Související požadavky​