OpenSSL DES 加密的意外结果

OpenSSL DES 加密的意外结果

我通过阅读学习了 DES 算法本文但是当我使用 OpenSSL 的相同示例时,我得到了不同的结果。

在本文中,我们看到使用密钥0123456789ABCDEF加密为。我相信这使用了 ECB 模式,但我认为这并不重要,因为只有一个块。85E813540F0AB405133457799BBCDFF1

我尝试通过运行以下命令使用 OpenSSL 获得相同的结果:

openssl enc -nosalt -nopad -des-ecb -in test -out test.des -pass file:password

但我得到以下结果test.desC0C9742DCEB936

的内容test恰好为0123456789ABEF,且 的内容password恰好为133457799BBCDFF1(二进制形式,用 编辑hexedit)。

那么为什么我得到了不同的结果?

答案1

我找到了一种获取预期内容的方法:

openssl enc -des-ecb -in test -out test.des -nosalt -nopad -K 133457799BBCDFF1

但我不知道-K和之间有什么区别-pass

相关内容