G06F21/12
1.一种软件授权方法,其特征在于,应用于软件终端中,保存第一公钥 和第二私钥;还包括:
收集当前用户信息;
利用第一公钥对所述用户信息进行加密,生成软件授权申请码;
将软件授权申请码发送给软件管理方;
接收来自软件管理方的激活码,利用第二私钥对激活码进行解密;
对解密后的激活码进行解析,从激活码中获取对应于当前用户的软件授 权使用策略;
根据获取的软件授权使用策略,进行软件初始化。
2.根据权利要求1所述的方法,其特征在于,
所述当前用户信息包括:当前软件终端的硬盘、网卡、内存信息中的任 意一个或多个;和/或,当前使用者的身份信息;
和/或,
所述软件授权使用策略包括:软件功能模块权限、授权类型、有效期中 的任意一个或多个。
3.根据权利要求1或2所述的方法,其特征在于,
所述生成的软件授权申请码为第一字符串形式;则在所述生成软件授权 申请码之后,并在所述将软件授权申请码发送给软件管理方之前,进一步包 括:
对于生成的第一字符串形式的软件授权申请码,将第一字符串中每一个 字符分别转换为该字符对应的ASCII码,得到第二字符串;
对第二字符串中的每一个ASCII码分别进行质数求商处理;
将质数求商的结果及对应的质数替换第二字符串中对应的ASCII码,得 到第三字符串;
所述将软件授权申请码发送给软件管理方包括:将第三字符串形式的软 件授权申请码发送给软件管理方。
其中,
所述对第二字符串中的每一个ASCII码分别进行质数求商处理包括:
针对所述每一个ASCII码,按照质数从小到大的顺序逐一执行将该 ASCII码除以大于自然数1的质数,直到得到第一个整除的商;
所述ASCII码对应的质数求商的结果为:所述第一个整除的商;
所述质数求商的结果对应的质数为:得到所述第一个整除的商时,作为 当前除数的质数;
和/或,
所述接收到的激活码为第四字符串形式;则在所述接收来自软件管理方 的激活码之后,并在所述利用第二私钥对激活码进行解密之前,进一步包括:
对于接收到的来自软件管理方的第四字符串形式的激活码,以每3个字 符为一个单位拆分所述第四字符串;
将拆分出的每个单位中前两个字符串转换成数字与第三个字符串转换成 的数字求乘积,得到每个单位对应的ASCII码,用每个单位对应的ASCII码 替换该每个单位,得到第五字符串;
将第五字符串中每个ASCII码转换为对应的字符,得到第六字符串;
将第六字符串中的预设M个位置上的字符分别对应替换为第六字符串 中最后M位字符,并删除该最后M位字符,得到第七字符串;
所述利用第二私钥对激活码进行解密包括:利用第二私钥对第七字符串 形式的激活码进行解密。
4.一种软件授权方法,其特征在于,应用于软件管理方,为各个用户分 别设置其对应的软件授权使用策略;保存对应于用户所使用第一公钥的第一 私钥,以及对应于用户所使用第二私钥的第二公钥,还包括:
接收软件授权申请码;
利用所述第一私钥对软件授权申请码进行解密;
根据解密后的软件授权申请码中的用户信息,获取当前用户对应的软件 授权使用策略;
利用所述第二公钥对获取的软件授权使用策略进行加密,生成激活码;
将生成的激活码发送给软件终端。
5.根据权利要求4所述的方法,其特征在于,
所述接收到的申请码为第三字符串形式;则在所述接收软件授权申请码 之后,并在所述利用所述第一私钥对软件授权申请码进行解密之前,进一步 包括:
对于接收到的第三字符串形式的申请码,以每3个字符为一个单位拆分 所述第三字符串;
将拆分出的每个单位中前两个字符串转换成数字与第三个字符串转换成 的数字求乘积,得到每个单位对应的ASCII码,用每个单位对应的ASCII码 替换该每个单位,得到第二字符串;
将第二字符串中每个ASCII码转换为对应的字符,得到第一字符串;
所述利用所述第一私钥对软件授权申请码进行解密包括:利用第一私钥 对第一字符串形式的激活码进行解密;
和/或,
所述生成的激活码为第七字符串形式;则在所述生成激活码之后,并在 所述将生成的激活码发送给软件终端之前,进一步包括:
对于第七字符串形式的激活码,将第七字符串中预设M个位置上的原始 字符分别替换为预设的M个替换字符,将M个所述原始字符加入字符替换 后的字符串的末尾,得到第六字符串;
将第六字符串中每一个字符分别转换为该字符对应的ASCII码,得到第 五字符串;
对第五字符串中的每一个ASCII码分别进行质数求商处理;
将质数求商的结果及对应的质数替换第五字符串中对应的ASCII码,得 到第四字符串;
所述所述将生成的激活码发送给软件终端包括:将第四字符串形式的激 活码发送给软件终端。
其中,
所述对第五字符串中的每一个ASCII码分别进行质数求商处理包括:
针对所述每一个ASCII码,按照质数从小到大的顺序逐一执行将该 ASCII码除以大于自然数1的质数,直到得到第一个整除的商;
所述ASCII码对应的质数求商的结果为:所述第一个整除的商;
所述质数求商的结果对应的质数为:得到所述第一个整除的商时,作为 当前除数的质数。
6.一种软件终端,其特征在于,包括:
第一保存单元,用于保存第一公钥和第二私钥;
信息收集单元,用于收集当前用户信息;
申请处理单元,用于利用所述保存单元保存的第一公钥对信息收集单元 所收集的所述用户信息进行加密,生成软件授权申请码,将软件授权申请码 发送给软件管理方;
激活处理单元,用于接收来自软件管理方的激活码,利用第二私钥对激 活码进行解密;对解密后的激活码进行解析,从激活码中获取对应于当前用 户的软件授权使用策略;
授权处理单元,用于根据获取的软件授权使用策略,进行软件初始化。
7.根据权利要求6所述的软件终端,其特征在于,
所述生成的软件授权申请码为第一字符串形式;则所述申请处理单元中 包括:第一加密处理子单元及第一发送子单元,其中,
第一加密处理子单元,对于生成的第一字符串形式的软件授权申请码, 将第一字符串中每一个字符分别转换为该字符对应的ASCII码,得到第二字 符串;对第二字符串中的每一个ASCII码分别进行质数求商处理;将质数求 商的结果及对应的质数替换第二字符串中对应的ASCII码,得到第三字符串;
第一发送子单元,用于将第三字符串形式的软件授权申请码发送给软件 管理方;
其中,
第一加密处理子单元在对第二字符串中的每一个ASCII码分别进行质数 求商处理时,具体执行:
针对所述每一个ASCII码,按照质数从小到大的顺序逐一执行将该 ASCII码除以大于自然数1的质数,直到得到第一个整除的商;
所述ASCII码对应的质数求商的结果为:所述第一个整除的商;
所述质数求商的结果对应的质数为:得到所述第一个整除的商时,作为 当前除数的质数。
和/或,
所述接收到的激活码为第四字符串形式;则所述激活处理单元中包括: 第一解密处理子单元及第二解密处理子单元;
第一解密处理子单元,用于对于接收到的来自软件管理方的第四字符串 形式的激活码,以每3个字符为一个单位拆分所述第四字符串;将拆分出的 每个单位中前两个字符串转换成数字与第三个字符串转换成的数字求乘积, 得到每个单位对应的ASCII码,用每个单位对应的ASCII码替换该每个单位, 得到第五字符串;将第五字符串中每个ASCII码转换为对应的字符,得到第 六字符串;将第六字符串中的预设M个位置上的字符分别对应替换为第六字 符串中最后M位字符,并删除该最后M位字符,得到第七字符串;
所述第二解密处理子单元,用于利用第二私钥对第七字符串形式的激活 码进行解密。
8.一种软件管理方,其特征在于,包括:
授权策略设置单元,用于为各个用户分别设置其对应的软件授权使用策 略;
第二保存单元,用于保存对应于用户所使用第一公钥的第一私钥,以及 对应于用户所使用第二私钥的第二公钥;
接收单元,用于接收软件授权申请码;
申请码处理单元,利用所述第一私钥对所述接收单元接收到的软件授权 申请码进行解密;
授权策略发送处理单元,用于根据解密后的软件授权申请码中的用户信 息,获取当前用户对应的软件授权使用策略;利用所述第二公钥对获取的软 件授权使用策略进行加密,生成激活码;将生成的激活码发送给软件终端。
9.根据权利要求8所述的软件管理方,其特征在于,进一步包括:申请 码解码单元,所述申请码解码单元连接在所述接收单元与所述申请码处理单 元之间;其中,
所述接收单元接收到第三字符串形式的申请码;
所述申请码解码单元,用于对于接收单元接收到的第三字符串形式的申 请码,以每3个字符为一个单位拆分所述第三字符串;将拆分出的每个单位 中前两个字符串转换成数字与第三个字符串转换成的数字求乘积,得到每个 单位对应的ASCII码,用每个单位对应的ASCII码替换该每个单位,得到第 二字符串;将第二字符串中每个ASCII码转换为对应的字符,得到第一字符 串;
所述申请码处理单元利用第一私钥对第一字符串形式的激活码进行解密;
和/或,
所述授权策略发送处理单元中包括:
第一生成子单元,用于生成第七字符串形式的激活码;
第二加密处理子单元,用于对于第一生成子单元所生成的第七字符串形 式的激活码,将第七字符串中预设M个位置上的原始字符分别替换为预设的 M个替换字符,将M个所述原始字符加入字符替换后的字符串的末尾,得到 第六字符串;将第六字符串中每一个字符分别转换为该字符对应的ASCII码, 得到第五字符串;对第五字符串中的每一个ASCII码分别进行质数求商处理; 将质数求商的结果及对应的质数替换第五字符串中对应的ASCII码,得到第 四字符串;
第二发送子单元,用于将第四字符串形式的激活码发送给软件终端。
其中,
所述第二加密处理子单元对第五字符串中的每一个ASCII码分别进行质 数求商处理,具体执行:
针对所述每一个ASCII码,按照质数从小到大的顺序逐一执行将该 ASCII码除以大于自然数1的质数,直到得到第一个整除的商;
所述ASCII码对应的质数求商的结果为:所述第一个整除的商;
所述质数求商的结果对应的质数为:得到所述第一个整除的商时,作为 当前除数的质数。
10.一种软件授权系统,其特征在于,
包括如权利要求6或7所述的软件终端,以及如权利要求8或9所述的 软件管理方。
本发明涉及计算机技术,特别涉及一种软件授权方法和系统、软件终端 及软件管理方。
随着计算机技术的发展,计算机软件的种类越来越多,功能也越来越强 大。在一台计算机上,当软件产品安装完成后,软件会在首次登录或者升级 时,需要得到软件管理方的授权,在授权成功后,软件才能在计算机上正常 运行,从而完成相应的软件功能。
目前的软件授权方式包括:软件安装终端将授权请求发送给软件管理方; 软件管理方对软件安装终端进行认证,合法后,将授权信息返回给软件安装 终端。可见,目前的软件授权方式功能单一,无法提高软件授权管理的灵活 性。
本发明提供一种软件授权方法和系统、软件终端及软件管理方,能够提 高软件授权管理的灵活性。
一种软件授权方法,应用于软件终端中,保存第一公钥和第二私钥;还 包括:
收集当前用户信息;
利用第一公钥对所述用户信息进行加密,生成软件授权申请码;
将软件授权申请码发送给软件管理方;
接收来自软件管理方的激活码,利用第二私钥对激活码进行解密;
对解密后的激活码进行解析,从激活码中获取对应于当前用户的软件授 权使用策略;
根据获取的软件授权使用策略,进行软件初始化。
所述当前用户信息包括:当前软件终端的硬盘、网卡、内存信息中的任 意一个或多个;和/或,当前使用者的身份信息;
和/或,
所述软件授权使用策略包括:软件功能模块权限、授权类型、有效期中 的任意一个或多个。
所述生成的软件授权申请码为第一字符串形式;则在所述生成软件授权 申请码之后,并在所述将软件授权申请码发送给软件管理方之前,进一步包 括:
对于生成的第一字符串形式的软件授权申请码,将第一字符串中每一个 字符分别转换为该字符对应的ASCII码,得到第二字符串;
对第二字符串中的每一个ASCII码分别进行质数求商处理;
将质数求商的结果及对应的质数替换第二字符串中对应的ASCII码,得 到第三字符串;
所述将软件授权申请码发送给软件管理方包括:将第三字符串形式的软 件授权申请码发送给软件管理方;
其中,
所述对第二字符串中的每一个ASCII码分别进行质数求商处理包括:
针对所述每一个ASCII码,按照质数从小到大的顺序逐一执行将该 ASCII码除以大于自然数1的质数,直到得到第一个整除的商;
所述ASCII码对应的质数求商的结果为:所述第一个整除的商;
所述质数求商的结果对应的质数为:得到所述第一个整除的商时,作为 当前除数的质数。
所述接收到的激活码为第四字符串形式;则在所述接收来自软件管理方 的激活码之后,并在所述利用第二私钥对激活码进行解密之前,进一步包括:
对于接收到的来自软件管理方的第四字符串形式的激活码,以每3个字 符为一个单位拆分所述第四字符串;
将拆分出的每个单位中前两个字符串转换成数字与第三个字符串转换成 的数字求乘积,得到每个单位对应的ASCII码,用每个单位对应的ASCII码 替换该每个单位,得到第五字符串;
将第五字符串中每个ASCII码转换为对应的字符,得到第六字符串;
将第六字符串中的预设M个位置上的字符分别对应替换为第六字符串 中最后M位字符,并删除该最后M位字符,得到第七字符串;
所述利用第二私钥对激活码进行解密包括:利用第二私钥对第七字符串 形式的激活码进行解密。
一种软件授权方法,应用于软件管理方,为各个用户分别设置其对应的 软件授权使用策略;保存对应于用户所使用第一公钥的第一私钥,以及对应 于用户所使用第二私钥的第二公钥,还包括:
接收软件授权申请码;
利用所述第一私钥对软件授权申请码进行解密;
根据解密后的软件授权申请码中的用户信息,获取当前用户对应的软件 授权使用策略;
利用所述第二公钥对获取的软件授权使用策略进行加密,生成激活码;
将生成的激活码发送给软件终端。
所述接收到的申请码为第三字符串形式;则在所述接收软件授权申请码 之后,并在所述利用所述第一私钥对软件授权申请码进行解密之前,进一步 包括:
对于接收到的第三字符串形式的申请码,以每3个字符为一个单位拆分 所述第三字符串;
将拆分出的每个单位中前两个字符串转换成数字与第三个字符串转换成 的数字求乘积,得到每个单位对应的ASCII码,用每个单位对应的ASCII码 替换该每个单位,得到第二字符串;
将第二字符串中每个ASCII码转换为对应的字符,得到第一字符串;
所述利用所述第一私钥对软件授权申请码进行解密包括:利用第一私钥 对第一字符串形式的激活码进行解密。
所述生成的激活码为第七字符串形式;则在所述生成激活码之后,并在 所述将生成的激活码发送给软件终端之前,进一步包括:
对于第七字符串形式的激活码,将第七字符串中预设M个位置上的原始 字符分别替换为预设的M个替换字符,将M个所述原始字符加入第七字符 串末尾,得到第六字符串;
将第六字符串中每一个字符分别转换为该字符对应的ASCII码,得到第 五字符串;
对第五字符串中的每一个ASCII码分别进行质数求商处理;
将质数求商的结果及对应的质数替换第五字符串中对应的ASCII码,得 到第四字符串;
所述所述将生成的激活码发送给软件终端包括:将第四字符串形式的激 活码发送给软件终端。
其中,
所述对第五字符串中的每一个ASCII码分别进行质数求商处理包括:
针对所述每一个ASCII码,按照质数从小到大的顺序逐一执行将该 ASCII码除以大于自然数1的质数,直到得到第一个整除的商;
所述ASCII码对应的质数求商的结果为:所述第一个整除的商;
所述质数求商的结果对应的质数为:得到所述第一个整除的商时,作为 当前除数的质数。
一种软件终端,包括:
第一保存单元,用于保存第一公钥和第二私钥;
信息收集单元,用于收集当前用户信息;
申请处理单元,用于利用所述保存单元保存的第一公钥对信息收集单元 所收集的所述用户信息进行加密,生成软件授权申请码,将软件授权申请码 发送给软件管理方;
激活处理单元,用于接收来自软件管理方的激活码,利用第二私钥对激 活码进行解密;对解密后的激活码进行解析,从激活码中获取对应于当前用 户的软件授权使用策略;
授权处理单元,用于根据获取的软件授权使用策略,进行软件初始化。
所述生成的软件授权申请码为第一字符串形式;则所述申请处理单元中 包括:第一加密处理子单元及第一发送子单元,其中,
第一加密处理子单元,对于生成的第一字符串形式的软件授权申请码, 将第一字符串中每一个字符分别转换为该字符对应的ASCII码,得到第二字 符串;对第二字符串中的每一个ASCII码分别进行质数求商处理;将质数求 商的结果及对应的质数替换第二字符串中对应的ASCII码,得到第三字符串;
第一发送子单元,用于将第三字符串形式的软件授权申请码发送给软件 管理方;
其中,
第一加密处理子单元在对第二字符串中的每一个ASCII码分别进行质数 求商处理时,具体执行:
针对所述每一个ASCII码,按照质数从小到大的顺序逐一执行将该 ASCII码除以大于自然数1的质数,直到得到第一个整除的商;
所述ASCII码对应的质数求商的结果为:所述第一个整除的商;
所述质数求商的结果对应的质数为:得到所述第一个整除的商时,作为 当前除数的质数。
所述接收到的激活码为第四字符串形式;则所述激活处理单元中包括: 第一解密处理子单元及第二解密处理子单元;
第一解密处理子单元,用于对于接收到的来自软件管理方的第四字符串 形式的激活码,以每3个字符为一个单位拆分所述第四字符串;将拆分出的 每个单位中前两个字符串转换成数字与第三个字符串转换成的数字求乘积, 得到每个单位对应的ASCII码,用每个单位对应的ASCII码替换该每个单位, 得到第五字符串;将第五字符串中每个ASCII码转换为对应的字符,得到第 六字符串;将第六字符串中的预设M个位置上的字符分别对应替换为第六字 符串中最后M位字符,并删除该最后M位字符,得到第七字符串;
所述第二解密处理子单元,用于利用第二私钥对第七字符串形式的激活 码进行解密。
一种软件管理方,包括:
授权策略设置单元,用于为各个用户分别设置其对应的软件授权使用策 略;
第二保存单元,用于保存对应于用户所使用第一公钥的第一私钥,以及 对应于用户所使用第二私钥的第二公钥;
接收单元,用于接收软件授权申请码;
申请码处理单元,利用所述第一私钥对所述接收单元接收到的软件授权 申请码进行解密;
授权策略发送处理单元,用于根据解密后的软件授权申请码中的用户信 息,获取当前用户对应的软件授权使用策略;利用所述第二公钥对获取的软 件授权使用策略进行加密,生成激活码;将生成的激活码发送给软件终端。
软件管理方可以进一步包括:申请码解码单元,所述申请码解码单元连 接在所述接收单元与所述申请码处理单元之间;其中,
所述接收单元接收到第三字符串形式的申请码;
所述申请码解码单元,用于对于接收单元接收到的第三字符串形式的申 请码,以每3个字符为一个单位拆分所述第三字符串;将拆分出的每个单位 中前两个字符串转换成数字与第三个字符串转换成的数字求乘积,得到每个 单位对应的ASCII码,用每个单位对应的ASCII码替换该每个单位,得到第 二字符串;将第二字符串中每个ASCII码转换为对应的字符,得到第一字符 串;
所述申请码处理单元利用第一私钥对第一字符串形式的激活码进行解密。
软件管理方中,所述授权策略发送处理单元中包括:
第一生成子单元,用于生成第七字符串形式的激活码;
第二加密处理子单元,用于对于第一生成子单元所生成的第七字符串形 式的激活码,将第七字符串中预设M个位置上的原始字符分别替换为预设的 M个替换字符,将M个所述原始字符加入第七字符串末尾,得到第六字符串; 将第六字符串中每一个字符分别转换为该字符对应的ASCII码,得到第五字 符串;对第五字符串中的每一个ASCII码分别进行质数求商处理;将质数求 商的结果及对应的质数替换第五字符串中对应的ASCII码,得到第四字符串;
第二发送子单元,用于将第四字符串形式的激活码发送给软件终端。
其中,
所述第二加密处理子单元对第五字符串中的每一个ASCII码分别进行质 数求商处理,具体执行:
针对所述每一个ASCII码,按照质数从小到大的顺序逐一执行将该 ASCII码除以大于自然数1的质数,直到得到第一个整除的商;
所述ASCII码对应的质数求商的结果为:所述第一个整除的商;
所述质数求商的结果对应的质数为:得到所述第一个整除的商时,作为 当前除数的质数。
一种软件授权系统,包括上述任意一种软件终端,以及上述任意一种软 件管理方。
本发明实施例提供的软件授权方法和系统、软件终端和软件管理方,能 够针对不同的用户设置不同的软件授权使用策略,每一个用户在软件终端上 得到的软件的授权使用策略都是预先针对该用户有针对性设置的,因此,依 此进行软件初始化后,则可以实现根据不同用户进行同一软件的不同授权。 并且,可以将软件授权使用策略信息携带在激活码中发送给软件终端,实现 方式简单。
图1是本发明一个实施例中在软件终端中实现软件授权的流程图。
图2是本发明另一个实施例中在软件管理方中实现软件授权的流程图。
图3是本发明一个实施例中软件终端与软件管理方配合并使用多重加密 技术进行软件授权过程的流程图。
图4是本发明一个实施例中软件终端基于ASCII码对软件授权申请码进 行加密的流程图。
图5是本发明一个实施例中软件管理方基于ASCII码对软件授权申请码 进行解密的流程图。
图6是本发明一个实施例中软件管理方基于ASCII码对激活码进行加密 的流程图。
图7是本发明一个实施例中软件终端基于ASCII码对激活码进行解密的 流程图。
图8是本发明一个实施例中软件终端的结构示意图。
图9是本发明一个实施例中软件管理方的结构示意图。
图10是本发明一个实施例中软件授权系统的结构示意图。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不 是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出 创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明一个实施例提出了一种软件授权方法,应用于软件终端中,参见 图1,该方法包括:
步骤101:在软件终端中保存第一公钥和第二私钥。
步骤102:软件终端收集当前用户信息。
步骤103:软件终端利用第一公钥对所述用户信息进行加密,生成软件 授权申请码。
步骤104:将软件授权申请码发送给软件管理方。
步骤105:接收来自软件管理方的激活码,利用第二私钥对激活码进行 解密。
步骤106:对解密后的激活码进行解析,从激活码中获取对应于当前用 户的软件授权使用策略。
步骤107:根据获取的软件授权使用策略,进行软件初始化。
可见,图1所示的实施例能够针对不同的用户设置不同的软件授权使用 策略,每一个用户在软件终端上得到的软件的授权使用策略都是预先针对该 用户有针对性设置的,因此,依此进行软件初始化后,则可以实现根据不同 用户进行同一软件的不同授权。并且,可以将软件授权使用策略信息携带在 激活码中发送给软件终端,实现方式简单。
在本发明一个实施例中,所述当前用户信息包括:当前软件终端的硬盘、 网卡、内存信息中的任意一个或多个;和/或,当前使用者的身份信息。也就 是说,可以基于软件终端的硬件信息来生成申请码,标识使用方。也可以同 时或不同时基于使用人员的身份信息来生成申请码。因此,能够保证申请码 的真实性和有效性。
在本发明一个实施例中,所述软件授权使用策略包括:软件功能模块权 限、授权类型、有效期中的任意一个或多个。
在图1所示的本发明实施例中,为了保证申请码的安全性,对申请码使 用第一公钥进行了加密。在本发明的一个实施例中,为了进一步提高申请码 交互的安全性,对于加密后的申请码,还可以进一步进行如下基于ASCII码 的加密处理:
步骤103中,所述生成的软件授权申请码为第一字符串形式;则在步骤 103所述生成软件授权申请码之后,并在步骤104所述将软件授权申请码发 送给软件管理方之前,进一步包括:
对于生成的第一字符串形式的软件授权申请码,将第一字符串中每一个 字符分别转换为该字符对应的ASCII码,得到第二字符串;
对第二字符串中的每一个ASCII码分别进行质数求商处理;
将质数求商的结果及对应的质数替换第二字符串中对应的ASCII码,得 到第三字符串;
步骤104中,是将第三字符串形式的软件授权申请码发送给软件管理方;
其中,
所述对第二字符串中的每一个ASCII码分别进行质数求商处理包括:
针对所述每一个ASCII码,按照质数从小到大的顺序逐一执行将该 ASCII码除以大于自然数1的质数,直到得到第一个整除的商;
所述ASCII码对应的质数求商的结果为:所述第一个整除的商;
所述质数求商的结果对应的质数为:得到所述第一个整除的商时,作为 当前除数的质数。
在图1所示的本发明实施例中,为了保证激活码的安全性,在软件管理 方侧可以对激活码进行了基于ASCII码的加密,相应地,在软件终端中,还 可以进一步进行如下解密处理:
步骤105中所述接收到的激活码为第四字符串形式;则在步骤105中所 述接收来自软件管理方的激活码之后,并在所述利用第二私钥对激活码进行 解密之前,进一步包括:
对于接收到的来自软件管理方的第四字符串形式的激活码,以每3个字 符为一个单位拆分所述第四字符串;
将拆分出的每个单位中前两个字符串转换成数字与第三个字符串转换成 的数字求乘积,得到每个单位对应的ASCII码,用每个单位对应的ASCII码 替换该每个单位,得到第五字符串;
将第五字符串中每个ASCII码转换为对应的字符,得到第六字符串;
将第六字符串中的预设M个位置上的字符分别对应替换为第六字符串 中最后M位字符,并删除该最后M位字符,得到第七字符串;
步骤105中,是利用第二私钥对第七字符串形式的激活码进行解密。
本发明一个实施例还提出了一种软件授权方法,应用于软件管理方,参 见图2,包括:
步骤201:预先为各个用户分别设置其对应的软件授权使用策略。
步骤202:预先保存对应于用户所使用第一公钥的第一私钥,以及对应 于用户所使用第二私钥的第二公钥。
步骤203:接收软件终端发来的软件授权申请码。
步骤204:利用所述第一私钥对软件授权申请码进行解密;
步骤205:根据解密后的软件授权申请码中的用户信息,获取当前用户 对应的软件授权使用策略;
步骤206:利用所述第二公钥对获取的软件授权使用策略进行加密,生 成激活码;
步骤207:将生成的激活码发送给软件终端。
在本发明一个实施例中,软件管理方接收到的申请码可以是经过双重加 密的,即经过第一公钥的加密,以及经过基于ASCII码的加密处理,此时, 软件管理方需要进行对应的解密处理,可以包括:
所述步骤203中接收到的申请码为第三字符串形式;则在步骤203所述 接收软件授权申请码之后,并在步骤204所述利用所述第一私钥对软件授权 申请码进行解密之前,进一步包括:
对于接收到的第三字符串形式的申请码,以每3个字符为一个单位拆分 所述第三字符串;
将拆分出的每个单位中前两个字符串转换成数字与第三个字符串转换成 的数字求乘积,得到每个单位对应的ASCII码,用每个单位对应的ASCII码 替换该每个单位,得到第二字符串;
将第二字符串中每个ASCII码转换为对应的字符,得到第一字符串;
所述步骤204中,具体利用第一私钥对第一字符串形式的激活码进行解 密。
在图2所示的本发明实施例中,为了保证激活码的安全性,对激活码使 用第二公钥进行了加密。在本发明的一个实施例中,为了进一步提高激活码 交互的安全性,对于加密后的激活码,还可以进一步进行如下基于ASCII码 的加密处理:
步骤206所述生成的激活码为第七字符串形式;则在步骤206所述生成 激活码之后,并在所述步骤207将生成的激活码发送给软件终端之前,进一 步包括:
对于第七字符串形式的激活码,将第七字符串中预设M个位置上的原始 字符分别替换为预设的M个替换字符,将M个所述原始字符加入第七字符 串末尾,得到第六字符串;
将第六字符串中每一个字符分别转换为该字符对应的ASCII码,得到第 五字符串;
对第五字符串中的每一个ASCII码分别进行质数求商处理;
将质数求商的结果及对应的质数替换第五字符串中对应的ASCII码,得 到第四字符串;
步骤207中,具体将第四字符串形式的激活码发送给软件终端;
其中,
所述对第五字符串中的每一个ASCII码分别进行质数求商处理包括:
针对所述每一个ASCII码,按照质数从小到大的顺序逐一执行将该 ASCII码除以大于自然数1的质数,直到得到第一个整除的商;
所述ASCII码对应的质数求商的结果为:所述第一个整除的商;
所述质数求商的结果对应的质数为:得到所述第一个整除的商时,作为 当前除数的质数。
为了更加清楚地说明本发明实施例中实现软件授权的过程,下面结合软 件终端和软件管理方的配合处理流程进行说明,并且,软件终端和软件管理 方都对需要发送给对方的信息进行双重加密,参见图3,具体可以包括:
步骤301:预先生成两对公私钥对,将其中第一公钥和第二私钥保存在 软件终端中,以及将对应于第一公钥的第一私钥、对应于第二私钥的第二公 钥均保存在软件管理方中。
步骤302:根据业务需求,预先为同一软件的各个用户分别设置其对应 的软件授权使用策略。
这里,可以根据不同地域、不同用户优先级等业务需求,为各个用户分 别设置其对应的软件授权使用策略。比如,用户1和用户2的地域不同,对 于软件1,用户1使用该软件1的权限即对应的软件授权使用策略与用户2 的不同。
步骤303:用户1在软件终端上安装软件1,需要初始化软件1时,软件 终端收集用户1的身份信息以及该软件终端的硬件信息(比如软件终端的硬 盘、网卡、内存信息)。
步骤304:软件终端利用第一公钥对收集的信息进行加密,得到第一字 符串形式的软件授权申请码。
利用第一公钥对收集的用户1身份信息及软件终端的硬件信息进行加密, 得到申请码,可以保证申请码的安全性。
为了进一步增加申请码的安全性,还可以通过如下步骤305的基于ASCII 码的加密处理,对申请码进行进一步加密。
步骤305:对第一字符串进行基于ASICC码的加密处理,得到第三字符 串形式的软件授权申请码。
参见图4,本步骤305的实现过程可以具体包括:
步骤401:将第一字符串中每一个字符分别转换为该字符对应的ASCII 码,得到第二字符串。
比如,第一字符串包括:AB…U,则将其中的A转换为其对应的ASCII 码65,将其中的B转换为其对应的ASCII码66……,将其中的U转换为其 对应的ASCII码85,这样,得到的第二字符串包括:6566……85。
步骤402:针对第二字符串中的每一个ASCII码,按照质数从小到大的 顺序逐一执行将该ASCII码除以大于自然数1的质数,直到得到第一个整除 的商。
比如,第二字符串包括:6566……85。那么,对于第一个ASCII码65, 从大于1的质数3开始,依次使用65÷3,除不尽,则65÷5=13,可以除尽, 则得到第一个整除的商为13,对应的质数为5。同理,对于下一个ASCII码 66,从大于1的质数3开始,依次使用66÷3=22,可以除尽,则得到第一个 整除的商为22,对应的质数为3。以此类推,直至针对第二字符串中最后一 个ASCII码85,得到其对应的第一个整除的商为17,对应的质数为5。
步骤403:针对第二字符串中的每一个ASCII码,将质数求商的结果(即 第一个整除的商)及对应的质数(即得到所述第一个整除的商时,作为当前 除数的质数)替换第二字符串中对应的ASCII码,得到第三字符串。
比如,可以将第二字符串:6566……85,替换后生成第三字符串: 135223……175。
至此,则完成了步骤305中得到第三字符串形式的软件授权申请码。
步骤306:软件终端将第三字符串形式的软件授权申请码发送给软件管 理方。
步骤307:软件管理方对第三字符串形式的软件授权申请码进行基于 ASCII码的解密处理,得到第一字符串形式的软件授权申请码。
参见图5,基于上述步骤305的实现过程,本步骤307的实现过程可以 是图4所示过程的逆过程,具体包括:
步骤501:软件管理方对于接收到的第三字符串形式的申请码,以每3 个字符为一个单位拆分所述第三字符串。
比如,第三字符串:135223……175。拆分第三字符串,拆分出135、 223……175。
步骤502:软件管理方将拆分出的每个单位中前两个字符串转换成数字 与第三个字符串转换成的数字求乘积,得到每个单位对应的ASCII码。
这里,对于拆分出的135,使用13×5=65,得到第一个单位对应的ASCII 码65,对于拆分出的223,使用22×3=66,得到第一个单位对应的ASCII 码66。以此类推,直至得到最后一个单位对应的ASCII码85。
步骤503:软件管理方用每个单位对应的ASCII码替换该每个单位,得 到第二字符串。
这里,得到第二字符串包括:6566……85。
步骤504:软件管理方将第二字符串中每个ASCII码转换为对应的字符, 得到第一字符串。
这里,因为第二字符串包括:6566……85,将其中65、66……85分别替 换为对应的字符,得到第一字符串包括:AB…U。
步骤308:软件管理方利用所述第一私钥对第一字符串形式的软件授权 申请码进行解密,得到用户1的身份信息以及该软件终端的硬件信息。
步骤309:软件管理方根据用户1的身份信息以及该软件终端的硬件信 息,获取当前用户对应的软件授权使用策略。
步骤310:软件管理方利用第二公钥对获取的软件授权使用策略进行加 密,生成激活码,记为第七字符串形式的激活码。
步骤311:对于第七字符串形式的激活码,软件管理方进行基于ASCII 码的加密处理。
参见图6,本步骤311的过程可以包括:
步骤601:软件管理方将第七字符串中预设M个位置上的原始字符分别 替换为M个替换字符。
比如,第七字符串包括:
本文发布于:2023-04-14 12:23:45,感谢您对本站的认可!
本文链接:https://patent.en369.cn/patent/3/86604.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |