![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PowerBuilder) Example: Hash Text in ChunksShows how to generate a final hash, like SHA-256, for a large text by processing it in chunks.
integer li_rc oleobject loo_Crypt oleobject loo_Bd string s integer li_Success integer i string ls_EncodedHash loo_Crypt = create oleobject li_rc = loo_Crypt.ConnectToNewObject("Chilkat.Crypt2") if li_rc < 0 then destroy loo_Crypt MessageBox("Error","Connecting to COM object failed") return end if loo_Crypt.HashAlgorithm = "sha256" loo_Crypt.Charset = "utf-8" loo_Bd = create oleobject li_rc = loo_Bd.ConnectToNewObject("Chilkat.BinData") s = "The quick brown fox jumped over the lazy dog.~r~n" // 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. loo_Bd.AppendString(s,"utf-8") li_Success = loo_Crypt.HashBeginString(s) i = 0 do while i < 200 loo_Bd.AppendString(s,"utf-8") loo_Crypt.HashMoreString(s) i = i + 1 loop // Get the hash in base64 format. loo_Crypt.EncodingMode = "base64" ls_EncodedHash = loo_Crypt.HashFinalENC() Write-Debug "Hash computed in chunks: " + ls_EncodedHash // Let's alternatively compute the hash of the entire amount of data at once, // to show the hash computation is the same: ls_EncodedHash = loo_Crypt.HashBdENC(loo_Bd) Write-Debug "Hash computed in 1 step: " + ls_EncodedHash // Output: // Hash computed in chunks: unwkVff61k40roRIJizaknreScHaL6frWe37kydXbZQ= // Hash computed in 1 step: unwkVff61k40roRIJizaknreScHaL6frWe37kydXbZQ= destroy loo_Crypt destroy loo_Bd |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.