一种软件加密方法技术

技术编号:19778837 阅读:18 留言:0更新日期:2018-12-15 11:29
本发明专利技术涉及软件加密技术领域,公开了一种软件加密方法,包括如下步骤:(1)设置模式;(2)生成启动码;(3)生成校验码C;(4)验证。本发明专利技术通过该加密方法利用数据库的安全特性,软件如果被复制,但得不到数据库的支持就无法使用。或者因为不知道数据库访问密码,无法得到字符串B与C,同样不能使用。这种软件加密方式并不是一次性的,而是在每次运行软件产品时都能够发挥作用,并且对硬件要求不高,降低加密成本,能够有效防止软件被复制、盗版以及机密文件的泄露,可应用于医疗、军事等领域。

【技术实现步骤摘要】
一种软件加密方法
本专利技术涉及软件加密
,尤其涉及了一种软件加密方法。
技术介绍
随着计算机在各个领域的普及应用,计算机软件安全也受到人们越来越多的关注。软件是软件开发人员的工作成果,是知识财产,可以以商品的形式进行出售,而不能被人们盗版并随便传播。然而就目前的情况来看,由于软件是由计算机代码构成的,相比于实际的商品,更容易被复制,软件盗版现象层出不穷,这给正版软件的出售造成了巨大影响,严重影响软件产业的经济效益。因此,需要对软件进行加密处理。
技术实现思路
本专利技术针对现有技术中容易被复制、使用不安全的缺点,提供了一种软件加密方法。为了解决上述技术问题,本专利技术通过下述技术方案得以解决。一种软件加密方法,包括如下步骤:(1)设置模式:在软件的运行对数据库进行访问时,访问过程中系统先对数据库进行安全升级,设置为非管理员不能打开数据库模式;(2)生成启动码:软件安装时,将一段随机生成的序列的长字符串A作为启动码,预存入数据库;(3)生成校验码C:将计算机的CPU型号记作B,然后按照C=f(A,B)的函数关系计算A与B,最后将计算结果C也存入数据库,该函数f计算方法如下:将两个字符串B与A分别转换成ascii码的整数数组,将两数组的相同位相加,再将相加后的数组前后位对调,然后将数组的每一位平方,最后转换成字符串C;(4)验证:软件运行时,系统重读CPU的型号B,然后与数据库内预存的A进行f(A,B)计算,得到结果C',将C'与C进行字符串比对和验证:①若读取不到CPU的型号B软件停止运行;②若C'与C不符,则软件停止运行;③若读取CPU型号成功且C'与C比对成功,则运行软件。本专利技术由于采用了以上技术方案,具有显著的技术效果:本专利技术通过该加密方法利用数据库的安全特性,软件如果被复制,但得不到数据库的支持就无法使用。或者因为不知道数据库访问密码,无法得到字符串B与C,同样不能使用。这种软件加密方式并不是一次性的,而是在每次运行软件产品时都能够发挥作用,并且对硬件要求不高,降低加密成本,能够有效防止软件被复制、盗版以及机密文件的泄露,可应用于医疗、军事等领域。附图说明图1是本专利技术一种软件加密方法中的运行流程示意图;图2是本专利技术一种软件加密方法中的运行原理示意图。具体实施方式下面结合附图与实施例对本专利技术作进一步详细描述。如图1至图2所示,一种软件加密方法,包括如下步骤:(1)设置模式:在软件的运行对数据库进行访问时,访问过程中系统先对数据库进行安全升级,设置为非管理员不能打开数据库模式;(2)生成启动码:软件安装时,将一段随机生成的序列的长字符串A作为启动码,预存入数据库;(3)生成校验码C:将计算机的CPU型号记作B,然后按照C=f(A,B)的函数关系计算A与B,最后将计算结果C也存入数据库,该函数f计算方法如下:将两个字符串B与A分别转换成ascii码的整数数组,将两数组的相同位相加,再将相加后的数组前后位对调,然后将数组的每一位平方,最后转换成字符串C;(4)验证:软件运行时,系统重读CPU的型号B,然后与数据库内预存的A进行f(A,B)计算,得到结果C',将C'与C进行字符串比对和验证:①若读取不到CPU的型号B软件停止运行;②若C'与C不符,则软件停止运行;③若读取CPU型号成功且C'与C比对成功,则运行软件。本专利技术通过该加密方法利用数据库的安全特性,软件如果被复制,但得不到数据库的支持就无法使用。或者因为不知道数据库访问密码,无法得到字符串B与C,同样不能使用。这种软件加密方式并不是一次性的,而是在每次运行软件产品时都能够发挥作用,并且对硬件要求不高,降低加密成本,能够有效防止软件被复制、盗版以及机密文件的泄露,可应用于医疗、军事等领域。实施例1步骤1、先将主机中的数据库的安全模式设为非管理员不能打开数据库模式,远端电脑通过数据库密码来访问主机数据库。步骤2、远端电脑在安装软件时,生成以下启动码A:aark_zhouzhejiangligongdaxuexinxixueyuan;并将该启动码A存入主机数据库;步骤3、获取远端电脑CPU的型号B:I7-5500U;经过f函数运算后得到C:阐婀烤喐搀拁婀烤;步骤4、在主机访问需要验证的时候,重读远端电脑CPU的型号B:I7-5500U;经过f函数运算后得到C':阐婀烤喐搀拁婀烤;C与C'相同,验证成功,则打开软件运行。实施例2实施例2的步骤1和步骤2与实施例1相同,所不同之处在于,步骤3获取的远端的电脑CPU的型号B:I7-4578U,则经过f函数运算后得到C':岤婀岤烤信恉岤C与C'不同,验证失败,则软件无法打开。总之,以上所述仅为本专利技术的较佳实施例,凡依本专利技术申请专利范围所作的均等变化与修饰,皆应属本专利技术专利的涵盖范围。本文档来自技高网...

【技术保护点】
1.一种软件加密方法,其特征在于,包括如下步骤:(1)设置模式:在软件的运行对数据库进行访问时,访问过程中系统先对数据库进行安全升级,设置为非管理员不能打开数据库模式;(2)生成启动码:软件安装时,将一段随机生成的序列的长字符串A作为启动码,预存入数据库;(3)生成校验码C:将计算机的CPU型号记作B,然后按照C=f(A,B)的函数关系计算A与B,最后将计算结果C也存入数据库,该函数f计算方法如下:将两个字符串B与A分别转换成ascii码的整数数组,将两数组的相同位相加,再将相加后的数组前后位对调,然后将数组的每一位平方,最后转换成字符串C;(4)验证:软件运行时,系统重读CPU的型号B,然后与数据库内预存的A进行f(A,B)计算,得到结果C',将C'与C进行字符串比对和验证:①若读取不到CPU的型号B软件停止运行;②若C'与C不符,则软件停止运行;③若读取CPU型号成功且C'与C比对成功,则运行软件。

【技术特征摘要】
1.一种软件加密方法,其特征在于,包括如下步骤:(1)设置模式:在软件的运行对数据库进行访问时,访问过程中系统先对数据库进行安全升级,设置为非管理员不能打开数据库模式;(2)生成启动码:软件安装时,将一段随机生成的序列的长字符串A作为启动码,预存入数据库;(3)生成校验码C:将计算机的CPU型号记作B,然后按照C=f(A,B)的函数关系计算A与B,最后将计算结果C也存入数据库,该函数f计算方法如下:将两...

【专利技术属性】
技术研发人员:阮丽娜任祝
申请(专利权)人:浙江理工大学
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1