Orginal aus der Hilfe!!
Spoiler anzeigen
#include <Crypt.au3>
[/autoit] [autoit][/autoit] [autoit]; Beispiel zum Wiederverwenden eines Schlüssels mit _Crypt_DeriveKey
[/autoit] [autoit][/autoit] [autoit]Local $StringsToCrypt[6]=["Bluth","Sunny","AutoIt3","SciTe",42,"42"]
Local $Crypted[6]
; Wir brauchen _Crypt_Startup nicht DeriveKey/DestroyKey wird intern bearbeitet
$Key=_Crypt_DeriveKey("supersecretpassword",$CALG_RC4)
$DisplayStr=""
[/autoit] [autoit][/autoit] [autoit]for $Word In $StringsToCrypt
$DisplayStr&=$Word&@TAB&" = "&_Crypt_EncryptData($Word,$Key,$CALG_USERKEY)&@CRLF
Next
MsgBox(0,"Verschlüsselungstabelle",$DisplayStr)
[/autoit] [autoit][/autoit] [autoit]_Crypt_DestroyKey($Key)
[/autoit]abgeändert:
[autoit]#include <Crypt.au3>
Local $StringsToCrypt[6]=["Bluth","Sunny","AutoIt3","SciTe",42,"42"]
Local $Crypted[6]
$Key=_Crypt_DeriveKey("supersecretpassword",$CALG_RC4)
$DisplayStr=""
for $i=0 to 5 step 1
$Crypted[$i]=_Crypt_EncryptData($StringsToCrypt[$i],$Key,$CALG_USERKEY)
Next
_Crypt_DestroyKey($Key)
$Key=_Crypt_DeriveKey("supersecretpassword",$CALG_RC4)
for $i=0 to 5 step 1
$ausgabe=_Crypt_EncryptData($Crypted[$i],$Key,$CALG_USERKEY)
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : '&$i&' $ausgabe = ' & BinaryToString($ausgabe) & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
Next
_Crypt_DestroyKey($Key)
CONSOLE
[autoit]
@@ Debug(20) : 0 $ausgabe = Bluth
>Error code: 0
@@ Debug(20) : 1 $ausgabe = Sunny
>Error code: 0
@@ Debug(20) : 2 $ausgabe = AutoIt3
>Error code: 0
@@ Debug(20) : 3 $ausgabe = SciTe
>Error code: 0
@@ Debug(20) : 4 $ausgabe = *@@ Debug(20) : 5 $ausgabe = 42
>Error code: 0
Ist da ein bug drin oder habe ich ein fehler drin?
wo ist den die 42 als int geblieben? siehe line 9 -> ( @@ Debug(20) : 4 )