为什么/*
This is
the collapsible
region of comment
*/
最多只能接受8个字母。例如,
const_DES_cblock input
第一行加密和解密就好了。但第二个只加密和解密前8个字母。它的方法是什么?
答案 0 :(得分:3)
DES就是所谓的分组密码,这意味着明文和加密文本都是固定长度的数据块。在DES的情况下,该数据块大小恰好是64位,因此const_DES_cblock
is defined为typedef unsigned char const_DES_cblock[8];
。如果您想安全地加密大于块大小的数据,则必须实现mode of operation,但这已经包含在OpenSSL的env.h
中。
答案 1 :(得分:2)
我不确定,你的问题在这里。 DES_ecb_encrypt的联机帮助页 明确指出:
DES_ecb_encrypt()是加密或加密的基本DES加密例程 解密电子密码本(ECB)中的单个8字节DES_cblock 模式。
因此,要加密超过8个字节,您必须将数据填充为8的倍数并相应地迭代DES_ecb_encrypt()
。但是你应该使用像EVP这样的高级界面,你不必关心这些细节。