2020/12/17更新 测试通过的编译环境 WIN10 64位操作系统, 5.12.5 MinGW 64位版本,以前32位编译的版本有bug,建议使用64位版本
RSA加密用处比较广泛, 在此就不赘述了。
不过最常用的做法是 512bit AES/DES 加密数据段,然后使用2048bit RSA 加密 AES/DES 密钥。 每隔一段时间更换 RSA密钥对。
你可以参照此程序实现动态RSA密钥更新,或者实现一个软件注册机。
简单介绍下, 本项目有2个RSA加密实现,
1 其中rsa_simple.h是一个按照网上简单的教程来写的, 只支持20bit的密钥, 作为学习原理和简单加密使用。
2 另外一个rsa.h是使用GMP大数运算库实现的RSA加密,理论上支持大于2048bit的运算, 在本程序中我自己限制到了2048bit,如果你有需要可以自己改。另外本项目是用Qt 5.7MinGW版本编译的, 在工程文件中静态链接了libgmp库, 编译时需要注意。
3 项目中两个类里面都有一个RSA_DGB宏定义,这个默认是0, 改为1 可以看到程序运行调试打印输出。
4 项目中两个类里面都有一个test()函数, 里面包含了完整的使用方法。
5 如果你需要在自己项目中使用, 只需要把libgmp库, 还有rsa_simple类 rsa类移植到你的工程中即可,其他的文件用不到。
CSDN MinGW32位老版本下载链接:程序和源码下载
MinGW32位老版本 分不够请移步QTCN下载
MinGW64位新版本 百度盘https://pan.baidu.com/s/1g4O0tdZjVdj_En20cIGgmA 提取码 ay20
有问题欢迎交流。