AutoIt
AutoIt
Example: Hash Text in Chunks
Shows how to generate a final hash, like SHA-256, for a large text by processing it in chunks.Chilkat AutoIt Downloads
Local $bSuccess = False
$oCrypt = ObjCreate("Chilkat.Crypt2")
$oCrypt.HashAlgorithm = "sha256"
$oCrypt.Charset = "utf-8"
$oBd = ObjCreate("Chilkat.BinData")
Local $s = "The quick brown fox jumped over the lazy dog." & @CRLF
; Accumulate the text in a StringBuilder. We'll demonstrate hashing the text in chunks,
; and then also hashing the entire text at once to show the results are the same.
$oBd.AppendString($s,"utf-8")
$bSuccess = $oCrypt.HashBeginString($s)
Local $i = 0
While $i < 200
$oBd.AppendString($s,"utf-8")
$oCrypt.HashMoreString($s)
$i = $i + 1
Wend
; Get the hash in base64 format.
$oCrypt.EncodingMode = "base64"
Local $sEncodedHash = $oCrypt.HashFinalENC()
ConsoleWrite("Hash computed in chunks: " & $sEncodedHash & @CRLF)
; Let's alternatively compute the hash of the entire amount of data at once,
; to show the hash computation is the same:
$sEncodedHash = $oCrypt.HashBdENC($oBd)
ConsoleWrite("Hash computed in 1 step: " & $sEncodedHash & @CRLF)
; Output:
; Hash computed in chunks: unwkVff61k40roRIJizaknreScHaL6frWe37kydXbZQ=
; Hash computed in 1 step: unwkVff61k40roRIJizaknreScHaL6frWe37kydXbZQ=