Generiert einen Schlüssel aus dem Algorithmus und dem Passwort
#include <Crypt.au3>
_Crypt_DeriveKey ( $vPassword, $iAlgID [, $iHashPasswordID = $CALG_MD5] )
$vPassword | Zu verwendendes Passwort |
$iAlgID | Verschlüsselungs ID des Algorithmus für den Schlüssel. Siehe Bemerkungen. |
$iHashPasswordID | [optional] Id des Algorithmus um das Passwort zu zerstückeln. Siehe Bemerkungen. |
Erfolg: | Ein Handle des Algorithmusschlüssel |
Fehler: | setzt das @error Flag auf ungleich null |
@error: | 10+ - Konnte kein Hash Objekt erstellen 20+ - Konnte das Passwort nicht zerstückeln 30+ - Konnte keinen Schlüssel generieren 1000+ - _Crypt_Startup() fehlgeschlagen |
Der Schlüssel wird zerstört mit _Crypt_DestroyKey().
Verschlüsselungs Algorithmus ID
$iAlgID | Wert | Typ | Schlüssellänge |
---|---|---|---|
$CALG_AES_128 | 0x0000660e | Cipher Block Verkettung | 128 Bit |
$CALG_AES_192 | 0x0000660f | Cipher Block Verkettung | 192 Bit |
$CALG_AES_256 | 0x00006610 | Cipher Block Verkettung | 256 Bit |
$CALG_DES | 0x00006601 | Cipher Block Verkettung | 56 Bit |
$CALG_3DES | 0x00006603 | Cipher Block Verkettung | 168 Bit |
$CALG_RC2 | 0x00006602 | Block Verschlüsselungsalgorithmus | 128 Bit |
$CALG_RC4 | 0x00006801 | Stream-Verschlüsselungsalgorithmus | 128 Bit |
$CALG_USERKEY | 0 |
$iHashPasswordID | Wert | Typ | Schlüssellänge |
---|---|---|---|
$CALG_MD2 | 0x00008001 | Hash-Algorithmus | 128-bit |
$CALG_MD4 | 0x00008002 | Hash-Algorithmus | 128-bit |
$CALG_MD5 | 0x00008003 | Hash-Algorithmus | 128-bit |
$CALG_SHA1 | 0x00008004 | Hash-Algorithmus | 160-bit |
$CALG_SHA_256 | 0x0000800c | Hash-Algorithmus | 256-bit |
$CALG_SHA_384 | 0x0000800d | Hash-Algorithmus | 384-bit |
$CALG_SHA_512 | 0x0000800e | Hash-Algorithmus | 512-bit |
_Crypt_DecryptData, _Crypt_DecryptFile, _Crypt_DestroyKey, _Crypt_EncryptData, _Crypt_EncryptFile
Suche nach CryptDeriveKey in der MSDN Bibliothek.
#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) ; Ein Passwort und eine Verschlüsselungsmethode angeben um den kryptografischen Schlüssel zu generieren.
For $vText In $aStringsToEncrypt
$sOutput &= $vText & @TAB & " = " & _Crypt_EncryptData($vText, $hKey, $CALG_USERKEY) & @CRLF ; Text mit dem erzeugten Schlüssel verschlüsseln.
Next
MsgBox($MB_SYSTEMMODAL, "Verschlüsselte Daten", $sOutput)
_Crypt_DestroyKey($hKey) ; Löschen des Schlüssels.
EndFunc ;==>Example