|  | 
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
| (Perl) PBKDF1 - Derive Key from PasswordDemonstrates how to derive a symmetric encryption key from a password using PBKDF1. This example matches the results found at this URL: http://www.di-mgt.com.au/cryptoKDFs.html#examplespbkdf It also matches the output produced by the .NET Framework using this C# code: 
            byte[] salt = new byte[] { 0x78, 0x57, 0x8E, 0x5A, 0x5D, 0x63, 0xCB, 0x06 };
            PasswordDeriveBytes cdk = new PasswordDeriveBytes("password", salt);
            cdk.IterationCount = 1000;
            cdk.HashName = "SHA1";
            // generate a 16-byte key
            byte[] key = cdk.GetBytes(16);
 use chilkat(); # This example assumes the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. $crypt = chilkat::CkCrypt2->new(); # http://www.di-mgt.com.au/cryptoKDFs.html#examplespbkdf $pw = "password"; $pwCharset = "ansi"; # Hash algorithms may be: sha1, md2, md5, etc. $hashAlg = "sha1"; # The salt should be 8 bytes: $saltHex = "78578E5A5D63CB06"; $iterationCount = 1000; # Derive a 128-bit key from the password. $outputBitLen = 128; # The derived key is returned as a hex or base64 encoded string. # (Note: The salt argument must be a string that also uses # the same encoding.) $enc = "hex"; $hexKey = $crypt->pbkdf1($pw,$pwCharset,$hashAlg,$saltHex,$iterationCount,$outputBitLen,$enc); print $hexKey . "\r\n"; # The output should have this value: # DC19847E05C64D2FAF10EBFB4A3D2A2 | ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.