Creates a key from algorithm and password
#include <Crypt.au3>
_Crypt_DeriveKey ( $vPassword, $iAlgID [, $iHashPasswordID = $CALG_MD5] )
The key needs to be destroyed with _Crypt_DestroyKey().
Encryption Algorithm ID
| $iAlgID | Value | Type | Key-length |
|---|---|---|---|
| $CALG_AES_128 | 0x0000660e | Cipher block chaining | 128 bits |
| $CALG_AES_192 | 0x0000660f | Cipher block chaining | 192 bits |
| $CALG_AES_256 | 0x00006610 | Cipher block chaining | 256 bits |
| $CALG_DES | 0x00006601 | Cipher block chaining | 56 bits |
| $CALG_3DES | 0x00006603 | Cipher block chaining | 168 bits |
| $CALG_RC2 | 0x00006602 | Block encryption algorithm | 128 bits |
| $CALG_RC4 | 0x00006801 | Stream encryption algorithm | 128 bits |
| $CALG_USERKEY | 0 |
| $iHashPasswordID | Value | Type | Key-length |
|---|---|---|---|
| $CALG_MD2 | 0x00008001 | Hashing algorithm | 128-bit |
| $CALG_MD4 | 0x00008002 | Hashing algorithm | 128-bit |
| $CALG_MD5 | 0x00008003 | Hashing algorithm | 128-bit |
| $CALG_SHA1 | 0x00008004 | Hashing algorithm | 160-bit |
| $CALG_SHA_256 | 0x0000800c | Hashing algorithm | 256-bit |
| $CALG_SHA_384 | 0x0000800d | Hashing algorithm | 384-bit |
| $CALG_SHA_512 | 0x0000800e | Hashing algorithm | 512-bit |
_Crypt_DecryptData, _Crypt_DecryptFile, _Crypt_DestroyKey, _Crypt_EncryptData, _Crypt_EncryptFile
Search CryptDeriveKey in MSDN Library.
#include <Crypt.au3>
#include <MsgBoxConstants.au3>
Example()
Func Example()
Local $aStringsToEncrypt[6]= ["AutoIt","SciTE","Crypt",".au3",42,"42"]
Local $sOutput= ""
Local $hKey= _Crypt_DeriveKey ("CryptPassword",$CALG_RC4); Declare a password string and algorithm to create a cryptographic key.
For $vTextIn $aStringsToEncrypt
$sOutput&=$vText&@TAB &" = "&_Crypt_EncryptData ($vText,$hKey,$CALG_USERKEY)&@CRLF ; Encrypt the text with the cryptographic key.
Next
MsgBox ($MB_SYSTEMMODAL,"Encrypted data",$sOutput)
_Crypt_DestroyKey ($hKey); Destroy the cryptographic key.
EndFunc ;==>Example