我通过阅读学习了 DES 算法本文但是当我使用 OpenSSL 的相同示例时,我得到了不同的结果。
在本文中,我们看到使用密钥0123456789ABCDEF
加密为。我相信这使用了 ECB 模式,但我认为这并不重要,因为只有一个块。85E813540F0AB405
133457799BBCDFF1
我尝试通过运行以下命令使用 OpenSSL 获得相同的结果:
openssl enc -nosalt -nopad -des-ecb -in test -out test.des -pass file:password
但我得到以下结果test.des
:C0C9742DCEB936
。
的内容test
恰好为0123456789ABEF
,且 的内容password
恰好为133457799BBCDFF1
(二进制形式,用 编辑hexedit
)。
那么为什么我得到了不同的结果?
答案1
我找到了一种获取预期内容的方法:
openssl enc -des-ecb -in test -out test.des -nosalt -nopad -K 133457799BBCDFF1
但我不知道-K
和之间有什么区别-pass
。