一种基于RSA+AES算法实现的软件授权License设计思路(附源码)本篇文章通过介绍基础加密算法知识结合软件授权激活

AES(AdvancedEncryptionStandard)加密算法,在密码学中又称Rijndael加密算法,是一种区块加密标准算法。AES加密算法由美国国家标准与技术研究(NIST)于2001年11月26日发布于FIPSPUB197,并在2002年5月26日成为有效的标准。现在AES加密算法已然成为对称密钥加密中最流行的算法之一。

RSA(RonRivest、AdiShamir、LeonardAdleman,3个提出者的姓氏首字母)加密算法是一种非对称加密算法(公钥加密算法)。RSA加密算法有一对密钥,一个是公开密钥,另一个是私有密钥,公钥用作加密,私钥则用作解密。使用公钥把加密后所得的密文,只能用相对应的私钥才能解密并得到原本的明文。

RSA的原理基于一个简单的数论知识:对两个互质的大数乘积进行因式分解很困难。RSA加密算法有两种应用模式,分别为加解密模式、签名验签模式。

RSA加解密模式是指采用公钥加密,私钥解密的模式。其应用为:需要加密明文数据并解密的场景。发送方将公钥加密后的密文发送给接收方,接收方用私钥解密密文后即可得到明文。

RSA签名验签模式则是网文中常见的所谓**“私钥加密,公钥解密”的逻辑。它其实是指采用私钥签名,公钥验签的模式,其应用为:需要给一条消息署名的场景。发送方将明文+私钥签名后的明文摘要消息发送给接收方,接收方用公钥解密出来私钥签名后的明文摘要**,并计算出发送方传输过来的明文的摘要进行比对,一致则验签成功。常用数字签名算法有:MD5withRSA、SHA1withRSA、SHA256withRSA。

一般来说,对称算法比非对称算法的加解密速度要快得多,并且RSA加密算法加密的长度有效,单次加密最大不大于密钥长度。因此实际使用中一般会结合RSA+AES两者使用,这也是为什么要用RSA算法签名摘要或者加密AES密钥的原因,提高效率的同时规避加密长度限制。

比如在HTTPS通信中的TLS(TransportLayerSecurity,其前身是安全套接层SecureSocketsLayer,缩写:SSL)安全协议,握手时采用RSA算法加密随机数与对话密钥,握手成功后就采用AES算法进行对称加密通信。

话不多说,上(伪)代码:

License=AesKey16+AesEnc(data).length+AesEnc(data)+RsaSign(AesEnc(data));License:就是最终生成的激活码字符串;

AesKey16:随机生成的16位AES密钥,选用固定长度密钥,因此不用拼接AesKey长度;

生成逻辑:

看到这里,也许有人会说:万一你这激活码生成规则被人知道了,怎么防止别人破解伪造啊?

激活码生成示例:

publicstaticStringgetLic(licenseBeanbean){Stringlic="";try{StringaesKey=MyUtil.getRandomString(16);StringencData=AesUtil.encrypt(aesKey,bean.toJson());StringencDataLength=Integer.toHexString(encData.length());Stringsign=RSAUtil.sign(RSA_PRI_KEY,encData);lic=aesKey+encDataLength+encData+sign;Log.d("bruce",lic);returnlic;}catch(Exceptione){e.printStackTrace();returnlic;}}一个激活码样例:

11Tf2wg9JjXeuvKTd8m4QwVfLJczRej06EAVut7coeJf3iSBDAkEl3E6faNYnG3SwiRbNBtSTmW+oRJ0kLVZf8ZIWeDQecyUqfBMiCwkYkPK4PAsmCK+kWd/aAZ+90t9QSZTq/qe4VQzkFuAk9a7D+vcF4e3BkVUovZuzB9XvmdIrNw8menjFLdWE+S0YD+VIs7AS8wUBBdA9+aH9/mZ8Oc53klslYT0mGGtTK0g==YRjmOKNaA5hA4hTAmHAK8LvRWjJqzKbGpxALd3V9dcX6Ln1ImKw0NhAVflAA5asyD4eaoafExlclCU+ayd2CyHpFmlIKTd4Uzh20y5Qke03WrGMWgSEaCgz+mZrihX0nwoyg5GXuOI0/dqOplX7mf+mSd8wgk9d2paOBvm5+ea4=

既然我们已经生成了激活码,那在校验时无非就是读取License,按照我们设计激活码时拼接的规则进行截取、校验。

THE END
1.今日最新签名精选,“今日热签荟萃推荐”直击简析签名,作为个人身份的重要标识,自古以来就承载着独特的文化意义。在数字化时代,签名艺术更是焕发出新的生命力。今天,我们就来聚焦“今日热签荟萃推荐”,带你领略签名艺术的新潮流。 一、传统与现代的碰撞:签名设计的创新之路 1. 融合传统文化元素 在签名设计中,许多设计师开始将传统文化元素融入其中,如书法、水墨画https://m.gvxv37775.cn/post/16908.html
2.签名设计:十种签名设计方法介绍签名设计,是姓名中的一部分,也是人生形象设计的一部分,也可以叫签名成功系统的——部分.随着AJrl交往日益频繁,签名艺术将在判:会生活中起着重要的作用.下面我们借鉴一下名家签名设计方法. 1.创意法 创意法是最奇特 之法. 用此法签名给人感觉是妙曼、灵动、意蕴幽远,天衣无缝之造作.创意法以行草签名居多.此法适http://www.yzqm.com/News/31/Show-1698.html
3.三十二个签名设计技巧签名设计就是设计签名,一般人写名字只是通过一般的汉字规则,这样写出来的名字往往很一般,没有什么艺术性,而签名设计就是由签名设计师根据中国传统书法、美术构图及字与字之间的联系来进行设计的。经过设计以后是签名书写方便、造型奇特、潇洒大方。 ?出现背景 https://www.meipian.cn/56gg6y8s
4.AI智能生成定制化个性签名:一键打造专属签名,满足个性化需求与设计个性签名不仅能够满足基本需求,还能通过创意设计,展现采用者的个性魅力。 ### 创意设计思路 1. 结合个人兴趣:如喜欢动漫的使用者,可选择卡通风格的签名。 2. 体现职业特点:如教师可选择书卷气的签名艺术家可选择艺术感强的签名。 3. 融入文化元素:如采用中英文结合的形式,展现国际化视野。 #https://www.yanggu.tv/webgov/aitong/268788.html
5.第一批签名设计新鲜出炉啦~小伙伴们快来自行认领咯(每字附设计图片发自简书App 上午去参加了个书法沙龙,中午得空去采购了些彩色签字笔,利用午休时间为大家设计好了签名,有的反复写了多遍,不一定都合大家意,还望多多提意见哦^_^ 根据各位留言先后顺序,平时实在太忙,名单分批公布,第一批先公布前10位哦~ 《杨清》 https://www.jianshu.com/p/763ae8e40b29
6.心理降教育主题班会(通用21篇)六、设计思路和活动亮点: 本次活动以续演心理情景剧为主,小游戏为辅,环环相扣,将现实中的题目专心理情景剧的方式表现出来,再以小游戏的``方式给同学们以启发。本次活动将具有认可度的心理咨询这一元素融进到本次活动,即本次活动心理辅导员和班主任也投进到整个活动过程中,能够更好的让同学们明白朋友的重要性https://www.fwsir.com/jiaoan/html/jiaoan_20230118084943_2261752.html
7.母亲节主题活动策划方案(精选20篇)一、设计思路 在母亲节到来之际,为培养幼儿感恩母亲、关爱妈妈的美好情感,我们设计、开展了系列活动。 二、前期活动 1、谈话活动:我的好妈妈。 2、语言活动:学习儿歌《我和妈妈》。 3、音乐活动:学唱歌曲《我的好妈妈》。 4、美术活动:手工制作“小花”。 https://www.oh100.com/zhichang/5887564.html
8.艺术签名在线生成一笔签名设计在线艺术字体在线生成器在线艺术签名设计免费版 免费艺术字体在线生成器 ②取图,长按或右击图片保存。 ①输入文案: ⑴选字1.立体炫金-菱心2.蓝色荧光-菱心3.火焰字体-菱心4.浅色朦胧-菱心5.灰中红绿-菱心6.朦胧霓虹-菱心7.灰中帝王-菱心8.夜空闪星-菱心9.冲出黑暗-菱心10.蓝色妖姬11.粉色回忆12.紫色幽灵13.黄色预警14.拖http://yishuzi.com/
9.测绘程序设计基础实验4CSUc++大地四边形类创建设计一个大地四边形类,注意大地四边形的基本属性,功能上只要求能够设置和返回已知点坐标、8个观测角度、待定点近似坐标计算以及闭合差的计算。 三、设计与实现: 3.1 设计思路: 3.2 界面设计及属性: 3.3主要代码: 3.3.1文件:<Support.h>#pragma once https://blog.csdn.net/weixin_42348202/article/details/98108365
10.世界无烟日主题班会教案三、设计思路 吸烟有害,拒绝吸烟,劝阻吸烟,远离烟草,崇尚健康,保护环境,共享文明。 四、活动准备 1、开班委会:确定主持人、班会程序等。 2、所有同学分小组,采用应用研究性学习的思路与方法完成两项任务: ⑴搜集:上互联网查询有关劝阻青少年吸烟的信息与资料(搜索引擎:google、yahoo、百度等); https://www.9136.com/jiaoyufanwen/jiaoan/223839.html
11.大学生创新设计大赛策划书范文(精选10篇)③各大类作品设计完成后,选手均需撰写不少于500字的设计方案综述:包含设计的创意来源、设计思路、设计理念、亮点说明等。选手需填写附件中的参赛表格,并自附一份设计方案综述,作品征集阶段各类参赛作品只需将所有电子版材料(作品照片+参赛表格+设计方案综述)发送至各学院学科部长处,由学院统一汇总后打包发送至校学科部https://3g.yjbys.com/cehuashu/1735435.html
12.javasecurity/SSL/TLS/md5/sha/base64/rsa/des/电信行业Http接口(通道)设计思路与实现过程 http://www.iteye.com/topic/398334 本页不但包含安全的内容,也包含不安全的内容.是否显示不安全的内容? https中夹带有http的问题, http://swingboat.iteye.com/blog/445608 今天解决了一个困扰我们很久的一个问题(说是很久,但一直没有花时间去research,想想不影响功https://www.iteye.com/blog/263381/
13.设计理念和设计思路内容?作为一名不错的设计师来讲,无论是设计理念还是设计思路都一定要清晰一些,只有这样才可以让自己的设计作品更加吸引人一些,如果现在的您对于设计理念以及设计思路都不是特别的了解,而且也想要提升这方面的知识,那https://www.yuzhua.com/consult/2-74-298863.html
14.施工设计开题报告(精选5篇)农业水土工程专业培养的是高级工程技术人才,不管学生将来是做技术工作还是继续深造,在专业上都会遵循发现问题,分析问题和解决问题的研究思路,然而,学生在选择毕业设计选题后往往没有一个清晰的设计思路,不知如何思考,不知从何下手,不会设计技术路线,对设计对象、设计内容、主要设计方法感到茫然,不知如何进行下去。 https://www.1mishu.com/haowen/33379.html
15.PS制作签名图教程(精选10篇)篇3:PS制作签名图思路解析 这篇PS教程是介绍新手如何自己制作成签的思路,水平好的朋友可以绕路了,很多朋友不知道怎么制作签名,不知道如何色彩搭配,还有如何设计字体,其实新朋友不需要追求太多,只要吧图片设计的简洁大方即可, FEVTE编注:更多PS教程讨论交流和PS作品请到论坛PS交流区,地址:bbs.fevte.com/forum-51-1.https://www.hrrsj.com/wendang/qitafanwen/891022.html
16.一文详解区块链的存储体系3. 设计思路 从设计哲学上看,当前的区块链与数据库在对通用业务的支持上采用了两种不同的策略。对于传统数据库来说,其秉承的设计理念是“业务与数据分离”的思路,也就是说数据库仅负责数据的存放,通过提供一种灵活的查询语言能够让应用程序直接访问数据库进行增删改查,但是基本所有的业务逻辑由应用程序自行定义。 https://www.51cto.com/article/633309.html
17.高中信息技术课程标准高中信息技术课程鼓励高中学生结合生活和学习实际,运用合适的信息技术,恰当地表达自己的思想,进行广泛的交流与合作,在此过程中共享思路、激发灵感、反思自我、增进友谊,共同建构健康的信息文化。 三、课程设计思路 (一) 课程设计思路与模块结构 随着社会信息化的发展,信息素养日益成为信息社会公民素养不可或缺的组成部分https://www.fqkhzx.cn/index/article/view/id/94.html