想知道如何正确地将openssl的AES_128加密转换为PyCrypto。在
首先,我使用openssl进行加密,如下所示:
openssl enc -aes-128-ctr -in input.mp4 -out output.openssl.mp4 -K 7842f0a1ebc38f44e3e0c81943f68582 -iv d01f40dfc8ec8cd9
然后,我试图通过PyCrypto做同样的事情:
^{pr2}$我想他们应该是相似的,但事实并非如此:
diff output.openssl.mp4 output.pycrypto.mp4
Binary files output.openssl.mp4 and output.pycrypto.mp4 differ
OpenSSL的行为与预期一致(幸运的是,命令行中缺少关于这个事实的文档),并将给定的IV用作big-endian计数器的最左边的字节。换言之,给定的字节是16字节计数器中最重要的部分。问题中的代码使用IV作为初始计数器值,即它被解释为计数器的最低有效部分。在
现在我花了一些时间来修复Python代码,因为我必须解决
Counter
类的两个问题:所以不用再费事了:
相关问题 更多 >
编程相关推荐