SHA3_256StreamRange
Crittografia
Descrizione
AnsiString
/ByteRangeL'input assorbito è l'intervallo di byte [0, FirstLength) seguito dall'intervallo di byte [SecondStart, SecondStart + SecondLength), in corrispondenza del layout /Contents della firma PDF dove il buco
Sintassi
Delphi
Function SHA3_256StreamRange(Input: TStream; FirstLength, SecondStart, SecondLength: Int64): AnsiString;Parametri
| Input | Stream da sottoporre ad hashing; la funzione esegue il seek prima di ogni segmento, quindi la posizione dello stream all'ingresso non conta, e uno stream nil produce una stringa vuota |
|---|---|
| FirstLength | Numero di byte assorbiti dalla posizione 0 dello stream, l'intervallo semi-aperto [0, FirstLength); 0 salta il primo segmento e un valore negativo interrompe con una stringa vuota |
| SecondStart | Offset dello stream dove inizia il secondo segmento assorbito, normalmente il primo byte dopo il buco /Contents della firma; un valore negativo interrompe con una stringa vuota |
| SecondLength | Numero di byte assorbiti da SecondStart, l'intervallo semi-aperto [SecondStart, SecondStart + SecondLength); 0 salta il secondo segmento e un valore negativo interrompe con una stringa vuota |
Valori restituiti
Il digest SHA3-256 raw di 32 byte compresso in una AnsiString, oppure una stringa vuota quando lo stream è nil, un valore di intervallo è negativo oppure una lettura restituisce meno byte del richiesto |
Osservazioni
Esegue l'implementazione Keccak di FIPS 202 integrata con il suffisso di dominio SHA-3 e un rate di 136 byte, assorbendo in blocchi da 64 KB; ogni lettura viene verificata rispetto al conteggio richiesto, così uno stream troncato si interrompe in modo pulito, cosa che le varianti stream SHA-2 non fanno
Esempio
Digest:= SHA3_256StreamRange(FS, ByteRange[0], ByteRange[2], ByteRange[3]);Vedere anche
SHA256ByteArray, SHA384ByteArray, SHA512ByteArray, SHA3_256ByteArray, SHA3_384ByteArray, SHA3_512ByteArray, SHA1StreamRange, SHA256StreamRange, SHA384StreamRange, SHA512StreamRange, SHA3_384StreamRange, SHA3_512StreamRange, SHAKE256ByteArray, SHAKE256StreamRange