查看完整版本: [--
Qt RSA密钥对生成器[支持2048位] 附带源码
--]
QTCN开发网
->
Qt 作品展
->
Qt RSA密钥对生成器[支持2048位] 附带源码
[打印本页]
登录
->
注册
->
回复主题
->
发表主题
lb309925437
2017-08-18 16:50
Qt RSA密钥对生成器[支持2048位] 附带源码
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.7 MinGW版本编译的, 在工程文件中静态链接了libgmp库, 编译时需要注意。
3 项目中两个类里面都有一个
RSA_DGB
宏定义,这个默认是0, 改为1 可以看到程序运行调试打印输出。
4 项目中两个类里面都有一个test()函数, 里面包含了完整的使用方法。
5 如果你需要在自己项目中使用, 只需要把libgmp库, 还有rsa_simple类 rsa类移植到你的工程中即可, 其他的文件用不到。
[attachment=17676]
[attachment=17677]
[attachment=17678]
源代码下载:[attachment=17679]
安装程序下载[附件大小超出论坛限制, 请到我的百度云盘下载]:
安装程序下载
有问题欢迎QQ交流。
lsyzsl
2017-08-18 17:22
界面做的干净整洁大方。
神经023
2017-08-18 20:52
liuchangyin
2017-08-21 09:42
liuchangyin
2017-08-21 09:45
界面做的也挺好看的
stlcours
2017-08-21 14:02
>>或者实现一个软件注册机。
就是说,把id machine做公钥,注册码做私钥,还是反过来?
lb309925437
2017-08-21 14:32
stlcours
:
>>或者实现一个软件注册机。
就是说,把id machine做公钥,注册码做私钥,还是反过来?
(2017-08-21 14:02)
采用RSA算法实现注册码的基本原理
本文档只描述用户名+序列号、在线注册、激活码三种方式,其它方式不予考虑。
下面分别描述三种方式实现的基本原理:
一、 用户名+序列号
1. 生成一对公钥E和私钥D(供软件注册模板和注册机使用);
2. 软件供应商编写一个注册机,通过注册机将输入的用户名与私钥D加密码生成密码C(即:注册码);软件供应商将用户名及注册码提供给用户。
3. 用户安装软件后,输入用户名和注册码,软件注册模板采用公钥E对注册码解码后生成F(即:用户名);
4. 软件注册模板比较解码后的用户名F与输入的用户名,如果相等则用户合法,完成授权,否则授权失败。
二、在线注册
1. 生成一对公钥E和私钥D(供注册系统和注册模板使用);
2. 软件供应商将用户的凭证信息通过私钥D加密后生成F,并存储在特定的地方,比如说:存储在注册数据库中;
3. 用户安装软件后,输入用户特征信息后,软件注册模板采用公钥E对用户特征信息加密,形式成注册凭证C,通过网络发送到供应商的注册系统中。
4. 注册系统采用私钥D加密用户注册凭证C,生成F。通过F判断用户身份的有效性;
5. 注册系统将注册验证的结果通过私钥D加密后,通过网络发送给软件系统;
6. 软件注册模板采用公钥E对验证结果进行解密,根据结果来决定是否完成授权;
三、激活码
1. 生成一对公钥E和私钥D(供软件注册模板和注册机使用);
2. 用户安装软件后,软件注册模板提取用户机器的特定信息(如:MAC地址、CPU序列号、硬盘序列号等等),并通过其它的编码算法(如BASE64)生成一个申请码C;
3. 用户将申请码C发给软件供应商。软件供应商通过注册机采用私钥D加密申请码C后生成激活码F。软件供应商将激活码F发给用户。
4. 用户输入激活码F,软件注册模板采用公钥E对激活码F解码后生成G(即:用户机器特征信息),然后软件注册模板提取用户机器的特定信息后进行编码。将编码的结果与G进行比较,如果相等则用户合法,完成授权,否则授权失败。
摘自CSDN:
http://blog.csdn.net/charleslei/article/details/50551008
wfwjp
2018-03-22 06:54
hanheyfon
2018-03-22 15:51
workshop
2020-01-06 16:23
不错的内容
shasidaran
2020-01-07 11:35
界面很清爽美观,思路介绍的很明确
jinyi7016
2020-06-22 16:20
怎么在win10下可以运行,在win7下无法运行呢
xiaoke123
2020-06-23 09:37
好东西 谢谢分享
sblpp
2021-02-02 08:57
感谢楼主分享
xiaoyu2
2023-05-08 13:23
谢谢分享
查看完整版本: [--
Qt RSA密钥对生成器[支持2048位] 附带源码
--] [--
top
--]
Powered by
phpwind
v8.7
Code ©2003-2011
phpwind
Gzip disabled