C++ 使用openssl库实现 DES 加密——CBC模式 && RSA加密——公加私解——私加公解
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C++ 使用openssl库实现 DES 加密——CBC模式 && RSA加密——公加私解——私加公解,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1260字,纯文字阅读大概需要2分钟。
内容图文
![C++ 使用openssl库实现 DES 加密——CBC模式 && RSA加密——公加私解——私加公解](/upload/InfoBanner/zyjiaocheng/845/7c4c574acda248ba8efb22079cdcac75.jpg)
之前工作上需要用C++把软件生成的用户序列号用des加密cbc的模式,加密后为二进制,转化为十六进制,然后提供给java写的授权码管理平台。 java平台会根据用户序列号,生成一个授权码,授权码是用rsa 私加公解的模式加密的,加密后为二进制,然后转为safeBase64格式。授权码拿来在C++的软件上授权,C++首先将safeBase64格式转为base64格式,再转为二进制,然后rsa解密出来得到明文。
现在回头整理那段时间的工作。小吐槽一下,想想碰到的坑,脑瓜疼。
先说DES加解密。java告诉用des加密,自己没接触过,网上找了一段代码,调用openssl库实现的des加解密,ecb模式的,折腾一番,实现了加密解密。跟java一碰,发现完全对不上。java查看代码,发现库函数有cbc的字样,用的cbc模式。ok嘛,接着实现cbc模式。头疼的是找遍了百度和谷歌,都没有找到有实现cbc模式的C++代码。怎么办呢,我就对照着ecb的实现,和cbc模式加密的理论,自己做。幸运的是,做出来了。来实现cbc模式的加解密, 在调用openssl库的接口时,需要传入密匙和IV向量。网上的代码有的IV向量是随意的,有的是全零。然后我发现,IV向量的值并非随心所欲就能实现加密解密。然后我用了网上的一个数组值,自己可以加密解密了。然后我把密匙设置为跟java一致,结果却不美好,加密的结果跟java不相同,也不能把java的密文解密出来。然后呢,java调用的库函数,只需要提供一个密匙KEY,因此java也不清楚问题出在哪。跟java反复的讨论中,java同事廷谋哥说,把IV向量设置为密匙KEY试试,一试便成功了。
内容总结
以上是互联网集市为您收集整理的C++ 使用openssl库实现 DES 加密——CBC模式 && RSA加密——公加私解——私加公解全部内容,希望文章能够帮你解决C++ 使用openssl库实现 DES 加密——CBC模式 && RSA加密——公加私解——私加公解所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。