免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6547 | 回复: 1
打印 上一主题 下一主题

[算法] openssl DES_ncbc_encrypt函数解密问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-10-15 13:34 |只看该作者 |倒序浏览
int main(int argc, char **argv)
{

        unsigned int     i;
        DES_key_schedule ks;
        const_DES_cblock key;
        unsigned char plain_0[100];
        unsigned char  plain_1[100];
        unsigned char       cipher[100];
        unsigned char       cipher2[100];
        DES_cblock                 ivec;
        char src[100];
        int len = 0;
        int k = 0;

        memset(&ks, 0, sizeof(ks));
        memset(&key, 0, sizeof(key));
        memset(plain_0, 0, sizeof(plain_0));
        memset(plain_1, 0, sizeof(plain_1));
        memset(cipher, 0, sizeof(cipher));
        memset(cipher2, 0, sizeof(cipher2));
        memset(&ivec, 0, sizeof(ivec));

        /*DES-CBC 加解密测试*/
        strcpy(src, argv[1]);
        memcpy((char *)key, "1q@W3e$5", ;
        memcpy((char *)ivec, "1q@W3e$5", ;
       
        len = strlen(src);

        printf("len[%d]\n", len);

        DES_set_key_unchecked( &key, &ks );

        /*不用每8字节加解密*/
        memset(cipher, 0, sizeof(cipher));
        DES_ncbc_encrypt((unsigned char *)src, cipher, len, &ks, &ivec, DES_ENCRYPT );
       
        printf( "cipher : " );
        for ( i = 0; i < 16; i++ )
        {
                printf( "%02X%c", cipher, ' ' );
        }
        //printf("\ncipher :[%s], strlen(cipher)[%d]\n", cipher, strlen((char *)cipher));

                memset(plain_1, 0, sizeof(plain_1));       
        DES_ncbc_encrypt(cipher, plain_1, 16, &ks, &ivec, DES_DECRYPT );

        printf("\nplain_1 :[%s]\n", plain_1);
}

对明文12345678asdfg进行加密,但是解密后前8字节为乱码,解密的结果为:齉r夳?)asdfg  
急!急!急!

论坛徽章:
0
2 [报告]
发表于 2008-10-15 13:37 |只看该作者
加解密前后的字符串对比下
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP