Funktionreferenz


_Crypt_DeriveKey

Beschreibung anzeigen in

Generiert einen Schlüssel aus dem Algorithmus und dem Passwort

#include <Crypt.au3>
_Crypt_DeriveKey ( $vPassword, $iAlgID [, $iHashPasswordID = $CALG_MD5] )

Parameter

$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.

Rückgabewert

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

Bemerkungen

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

    Hash-Algorithmus-ID

$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

Verwandte Funktionen

_Crypt_DecryptData, _Crypt_DecryptFile, _Crypt_DestroyKey, _Crypt_EncryptData, _Crypt_EncryptFile

Siehe auch

Suche nach CryptDeriveKey in der MSDN Bibliothek.

Beispiel

#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