首页 > 解决方案 > 以 HEX 加密为 AES 128 ECB

问题描述

我正在尝试使用openssl将纯文本加密到AES 128 ECBin 中HEX

使用纯文本11111111111111111111111111111111和原始密钥00000000000000000000000000000000,我正在尝试使用:

echo -n "11111111111111111111111111111111" | openssl enc -aes-128-ecb -K 00000000000000000000000000000000 -nosalt | xxd -p

但这给了我:

b6de54f9a78637d1eb523ca7201589f4b6de54f9a78637d1eb523ca72015
89f40143db63ee66b0cdff9f69917680151e

我应该得到:

FFA3C7ED04710B98067DAE6815E2751F

我究竟做错了什么?

标签: encryptionopensslhexaes

解决方案


您忘记对明文进行十六进制解码。此外,OpenSSL 默认为 PKCS#7 填充,因此如果您需要 16 字节输出来获得 16 字节输入,则应忽略最后一个 16 字节/32 十六进制字符块。


推荐阅读