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íccrc32/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) – hodnotajwt(spolu s atributempart) v dosavadní dokumentaci chyběla.part- Jen sinput="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.