本发明涉及服务授权,具体涉及一种软件服务的授权方法。
背景技术:
1、目前,商用软件和共享软件绝大部分都是采用注册码授权的方式来保证软件本身不被盗用,以保证自身的利益。尽管很多常用软件系统的某些版本已经被破解,但对于软件行业而言,注册码授权的方式仍是一种保护软件系统本身的有效手段。
2、通常而言,注册码授权方式有以下几种方式:
3、1、安装序列号方式
4、安装序列号方式是最为常用的方式,microsoft提供的产品(例如:windows系列产品、office系列产品等)均采用这种方式;其通过一种复杂的算法生成安装序列号,在安装过程中,安装程序对用户输入的安装序列号进行校验来验证该系统是否合法,从而完成授权。
5、2、用户名加序列号方式
6、用户名加序列号方式是软件系统的供应商给用户提供有效的用户名和序列号,用户在安装过程或启动过程中输入有效的用户名和序列号,系统通过算法校验通过后完成软件授权。
7、3、在线注册方式
8、用户安装系统后,通过网络进行注册授权。软件系统的供应商事先已经登记了用户信息,用户在线注册时,供应商的注册系统对用户的信息进行验证。用户身份有效时,注册系统生成一个凭证信息,软件系统根据凭证信息完成授权。
9、4、激活码方式
10、用户安装系统后,软件系统会根据用户机器的关键信息(例如:mac地址、cpu序列号、硬盘序列号等)生成一个注册凭证(也可称为注册码),用户将这该注册凭证发送给软件供应商,供应商通过注册凭证生成一个激活码;用户输入激活码,软件系统完成授权。
11、但,不论是采用上述哪种方式来进行授权,理论上都是可以被破解的。只要破解者发现了软件授权机制和原理则任何保护机制都将化为乌有。因此,只能够通过选择复杂的算法和机制来增加破解者的破解难度,从而在在一定的时间内保证软件不被盗用。
技术实现思路
1、针对现有技术中存在的不足之处,本发明提供一种软件服务的授权方法。
2、本发明公开了一种软件服务的授权方法,包括:
3、步骤1.获取本地网卡的mac地址和ip地址;
4、步骤2.获取计算机的cpu信息;
5、步骤3.获取计算机硬盘的序列码信息;
6、步骤4.将mac地址、ip地址、cpu信息和硬盘序列码信息进行排序,得到字符串;
7、步骤5.获取字符串中每个字符的ascii码,并进行排序,得到ascii码字符串;
8、步骤6.将ascii码字符串进行hash编码,得到固定长度的第一哈希值;
9、步骤7.生成预设长度的混淆字符,将字符串的每个字符根据其对应的数字大小与混淆字符进行加权处理;
10、步骤8.对加权处理后的字符串进行hash编码,得到固定长度的第二哈希值;
11、步骤9.使用rsa对生成的第一哈希值、第二哈希值或第一哈希值与第二哈希值的融合哈希值进行加密,生成序列码的最终加密结果。
12、作为本发明的进一步改进,所述获取本地网卡的mac地址和ip地址,包括:
13、通过操作系统提供的网络接口,获取本地网卡的mac地址和ip地址。
14、作为本发明的进一步改进,所述获取计算机的cpu信息,包括:
15、通过系统调用或第三方库,获取计算机的cpu信息。
16、作为本发明的进一步改进,所述获取计算机硬盘的序列码信息,包括:
17、通过系统调用或第三方库,获取计算机硬盘的序列码信息。
18、作为本发明的进一步改进,所述将mac地址、ip地址、cpu信息和硬盘序列码信息进行排序,得到字符串;包括:
19、将mac地址、ip地址、cpu信息和硬盘序列码信息按照字母顺序进行排序,得到字符串。
20、作为本发明的进一步改进,所述获取字符串中每个字符的ascii码,并进行排序,得到ascii码字符串;包括:
21、遍历排序后的字符串,并将字符串中的每个字符转换为相对应的ascii码;
22、将每个字符的ascii码按照升序进行排序,得到按照字符顺序排列的ascii码字符串。
23、作为本发明的进一步改进,第一哈希值与第二哈希值的融合哈希值的融合方法为:
24、根据预设的与每类数据相应的加权系数,对所述第一哈希值和第二哈希值进行加权融合,以得到融合哈希值。
25、作为本发明的进一步改进,所述第一哈希值与第二哈希值的长度一致。
26、与现有技术相比,本发明的有益效果为:
27、本发明可以提高软件保护的安全性。
1.一种软件服务的授权方法,其特征在于,包括:
2.如权利要求1所述的软件服务的授权方法,其特征在于,所述获取本地网卡的mac地址和ip地址,包括:
3.如权利要求1所述的软件服务的授权方法,其特征在于,所述获取计算机的cpu信息,包括:
4.如权利要求1所述的软件服务的授权方法,其特征在于,所述获取计算机硬盘的序列码信息,包括:
5.如权利要求1所述的软件服务的授权方法,其特征在于,所述将mac地址、ip地址、cpu信息和硬盘序列码信息进行排序,得到字符串;包括:
6.如权利要求1所述的软件服务的授权方法,其特征在于,所述获取字符串中每个字符的ascii码,并进行排序,得到ascii码字符串;包括:
7.如权利要求1所述的软件服务的授权方法,其特征在于,第一哈希值与第二哈希值的融合哈希值的融合方法为:
8.如权利要求7所述的软件服务的授权方法,其特征在于,所述第一哈希值与第二哈希值的长度一致。