以十六进制加密为 AES 128 ECB
Encrypt to AES 128 ECB in HEX
我正在尝试使用 openssl
将纯文本加密为 HEX
中的 AES 128 ECB
。
使用纯文本 11111111111111111111111111111111
和原始密钥 00000000000000000000000000000000
我正在尝试使用:
echo -n "11111111111111111111111111111111" | openssl enc -aes-128-ecb -K 00000000000000000000000000000000 -nosalt | xxd -p
但这给了我:
b6de54f9a78637d1eb523ca7201589f4b6de54f9a78637d1eb523ca72015
89f40143db63ee66b0cdff9f69917680151e
我应该得到:
FFA3C7ED04710B98067DAE6815E2751F
我做错了什么?
您忘记对您的明文进行十六进制解码。此外,OpenSSL 默认为 PKCS#7 填充,因此如果您需要 16 字节的输出以用于 16 字节的输入,则应忽略最后一个 16 字节/32 个十六进制字符块。
我正在尝试使用 openssl
将纯文本加密为 HEX
中的 AES 128 ECB
。
使用纯文本 11111111111111111111111111111111
和原始密钥 00000000000000000000000000000000
我正在尝试使用:
echo -n "11111111111111111111111111111111" | openssl enc -aes-128-ecb -K 00000000000000000000000000000000 -nosalt | xxd -p
但这给了我:
b6de54f9a78637d1eb523ca7201589f4b6de54f9a78637d1eb523ca72015
89f40143db63ee66b0cdff9f69917680151e
我应该得到:
FFA3C7ED04710B98067DAE6815E2751F
我做错了什么?
您忘记对您的明文进行十六进制解码。此外,OpenSSL 默认为 PKCS#7 填充,因此如果您需要 16 字节的输出以用于 16 字节的输入,则应忽略最后一个 16 字节/32 个十六进制字符块。