Hallo,
ich benötige eine Autoit Funktion, die mir einen String verschlüsselt.
Auf einem Linux System möchte ich die gleiche Funktion mit bash/openssl (oder alternative) haben und der output soll identisch zu der Autoit Funktion sein.
Ich habe das bisher mit diesem Ansatz probiert, bekomme aber leider unterschiedliche Ergebnisse:
AutoIt
#Include <String.au3>
#include <Crypt.au3>
Global Const $encryptionKey = "pjqFX32pfaZaOkkC"
Global Const $Message = "Nachricht"
ConsoleWrite( _Encrypt($encryptionKey, $Message)& @CRLF)
ConsoleWrite(_StringToHex(BinaryToString(_Encrypt($encryptionKey, $Message)))& @CRLF)
Func _Encrypt($sKey, $sData)
Local $hKey = _Crypt_DeriveKey($sKey, $CALG_AES_256)
Local $bEncrypted = _Crypt_EncryptData($sData, $hKey, $CALG_USERKEY)
_Crypt_DestroyKey($hKey)
Return $bEncrypted
EndFunc ;==>_Encrypt
Alles anzeigen
Die Ausgabe ist dann:
0x14E5AEEADE1AEFD2DC4CAB7331CCC076
14C3A5C2AEC3AAC39E1AC3AFC392C39C4CC2AB7331C38CC38076
Unter Linux habe ich folgendes probiert:
echo "Nachricht" |openssl enc -aes-256-ecb -pass pass:pjqFX32pfaZaOkkC -nosalt |xxd -g0 -c16 |cut -d " " -f2
Ausgabe: 442209ee85d56a8709c9ad73988c13fa
Hat jemand eine Idee, was ich anpassen muss um ein identisches Ergebnis zu erhalten?