参考文章:
阮一峰的博客(RSA加密算法数学原理):
https://www.ruanyifeng.com/blog/2013/06/rsa_algorithm_part_one.html
https://www.ruanyifeng.com/blog/2013/07/rsa_algorithm_part_two.html
leftyu2010的博客(软件加密授权方式总结):
https://blog.csdn.net/leftyu2010/article/details/52086953
RSA加密的 js 语言实现:
https://www.codercto.com/a/82226.html
感谢网友们的精彩分享!
一、RSA 激活码实现逻辑
RSA算法实现激活码注册方式的原理如下:
-
生成一对公钥E和私钥D(供软件注册模板和注册机使用);
-
用户安装软件后,软件注册模板提取用户机器指纹信息(如:MAC地址、CPU序列号、硬盘序列号等),并通过其它的编码算法(如BASE64)生成一个申请码C;
-
用户将申请码C发给软件开发商。软件开发商通过注册机采用私钥D加密申请码C后生成激活码F。软件供应商将激活码F发给用户。
-
用户输入激活码F,软件注册模板采用公钥E对激活码F解码后生成G(即:用户机器特征信息),然后软件注册模板提取用户机器的特定信息后进行编码。将编码的结果与G进行比较,如果相等则用户合法,完成授权,否则授权失败。