![]() |
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
(AutoIt) Manually Duplicate SetSecretKeyViaPasswordDemonstrates how to duplicate the password string to binary secret key computation of SetSecretKeyViaPassword.
; This example assumes the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. $oCrypt = ObjCreate("Chilkat.Crypt2") ; The password string is transformed to a binary secret key by computing the ; MD5 digest (of the utf-8 password) to obtain 16 bytes. ; If the KeyLength is greater than 16 bytes, then the MD5 digest of the Base64 encoding ; of the utf-8 password is added. A max of 32 bytes of key material is generated, and ; this is truncated to the actual KeyLength required. $oCrypt.CryptAlgorithm = "aes" $oCrypt.KeyLength = 256 Local $sPassword = "this is my password" $oCrypt.SetSecretKeyViaPassword $sPassword ; Examine the resulting SecretKey in hex: ConsoleWrite("Computed Secret Key = " & $oCrypt.GetEncodedKey("hex") & @CRLF) ; Now perform the same computation manually: $oSb = ObjCreate("Chilkat.StringBuilder") $oCrypt.HashAlgorithm = "md5" $oCrypt.Charset = "utf-8" $oCrypt.EncodingMode = "hex" $oSb.Append($oCrypt.HashStringENC($sPassword)) Local $sPasswordBase64 = $oCrypt.EncodeString($sPassword,"utf-8","base64") $oSb.Append($oCrypt.HashStringENC($sPasswordBase64)) ConsoleWrite("Manually Computed = " & $oSb.GetAsString() & @CRLF) ; The output is: ; Computed Secret Key = 210D53992DFF432EC1B1A9698AF9DA16C7E90518F90E24828F78EC9E0A413B36 ; Manually Computed = 210D53992DFF432EC1B1A9698AF9DA16C7E90518F90E24828F78EC9E0A413B36 |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.