1、使用函数DES_set_key_unchecked设置密钥 2、使用函数DES_ncbc_encrypt来进行数据加解密 void DES_ncbc_encrypt(const unsigned char *input,unsigned char *output, long length,DES_key_schedule *schedule,DES_cblock *ivec, int enc); 参数说明: input: 输入数据;(8字节长度) output: 输出数据;(8字节长...
4. void DES_random_key(DES_cblock *ret); 5. 6. //设置key 7. //这两个函数的主要区别在于是否检测key的奇偶校检位 8. //checked会对奇偶校检位进行检查,如果校检位错误,返回-1,如果key强度比较弱,返回-2; 9. //unchecked则不会检查 10. int DES_set_key_checked(const_DES_cblock *key, D...
一、单DES算法ECB模式加解密 1、使用函数DES_set_key_unchecked设置密钥 2、使用函数DES_ecb_encrypt来进行数据加解密 void DES_ecb_encrypt(const_DES_cblock *input,DES_cblock *output, DES_key_schedule *ks,int enc); 函数功能说明:DES ECB计算 参数说明: input: 输入数据;(8字节长度) output: 输出数...
DES_set_key_unchecked(key, &ks); #endif DES_cbc_cksum((constunsignedchar*)str, key, length, &ks, key); OPENSSL_cleanse(&ks,sizeof(ks)); DES_set_odd_parity(key); } 2. 不能使用DES_set_key_checked,而要使用DES_set_key_unchecked。因为使用前者,它会检查密钥的奇偶性和密钥的强度。经常...
DES_key_schedule schedule; uchar key18; des_cblock *iv3; int pading ; size_t i, vt_size ; char *mid_buf; memset( key1,0,8); memcpy( key1, _key, 8 ); DES_set_key_unchecked( (const_DES_cblock*)&key1, &schedule);
DES_set_key_unchecked((const_DES_cblock*)block_key, &ks3); printf("before encrypt:\n"); for (i = 0; i < len; i++) { printf("0x%.2X ", *(src + i)); } printf("\n"); /* 循环加密/解密,每8字节一次 */ count = len / 8; ...
memset(&keyEncrypt, 0x00, sizeof(keyEncrypt)); memset(keyEncrypt, 0x00, 8); //构造补齐后的密钥 if(len <= 8) { memcpy(keyEncrypt, key, len); } else { memcpy(keyEncrypt, key, 8); } //密钥置换 DES_set_key_unchecked(&keyEncrypt, &keySchedule); ...
#pragma comment(lib, "libeay32.lib")用于调用静态库,另外设置好头文件路径,在工程中增 加#include <openssl/des.h>, (3)DES_set_key_unchecked( (DES_cblock*)key1 , &schedule1 );调用此函数可以实现密钥设置 DES_ecb_encrypt((const_DES_cblock*)(inbuff+i*8),(DES_cblock*)(outbuff+i*8)...
(2)将libeay32.dll 、libeay32.lib以及OpenSSL头文件移植到VC工程中,工程中增加#pragma comment(lib, "libeay32.lib")用于调用静态库,另外设置好头文件路径,在工程中增 加#include <openssl/des.h>, (3)DES_set_key_unchecked( (DES_cblock*)key1 , &schedule1 );调用此函数可以实现密钥设置...
#include <openssl/des.h> int main() { //输入明文 char plaintext[8] = "12345678"; //初始化DES密钥 DES_cblock key = {0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF}; DES_key_schedule keysched; DES_set_key_unchecked(&key, &keysched); //加密 unsigned char ciphertext[8]...