CN109002695A - 一种软件加密方法 - Google Patents
一种软件加密方法 Download PDFInfo
- Publication number
- CN109002695A CN109002695A CN201810636295.XA CN201810636295A CN109002695A CN 109002695 A CN109002695 A CN 109002695A CN 201810636295 A CN201810636295 A CN 201810636295A CN 109002695 A CN109002695 A CN 109002695A
- Authority
- CN
- China
- Prior art keywords
- software
- database
- character string
- cpu
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000003491 array Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及软件加密技术领域,公开了一种软件加密方法,包括如下步骤:(1)设置模式;(2)生成启动码;(3)生成校验码C;(4)验证。本发明通过该加密方法利用数据库的安全特性,软件如果被复制,但得不到数据库的支持就无法使用。或者因为不知道数据库访问密码,无法得到字符串B与C,同样不能使用。这种软件加密方式并不是一次性的,而是在每次运行软件产品时都能够发挥作用,并且对硬件要求不高,降低加密成本,能够有效防止软件被复制、盗版以及机密文件的泄露,可应用于医疗、军事等领域。
Description
技术领域
本发明涉及软件加密技术领域,尤其涉及了一种软件加密方法。
背景技术
随着计算机在各个领域的普及应用,计算机软件安全也受到人们越来越多的关注。
软件是软件开发人员的工作成果,是知识财产,可以以商品的形式进行出售,而不能被人们盗版并随便传播。然而就目前的情况来看,由于软件是由计算机代码构成的,相比于实际的商品,更容易被复制,软件盗版现象层出不穷,这给正版软件的出售造成了巨大影响,严重影响软件产业的经济效益。因此,需要对软件进行加密处理。
发明内容
本发明针对现有技术中容易被复制、使用不安全的缺点,提供了一种软件加密方法。
为了解决上述技术问题,本发明通过下述技术方案得以解决。
一种软件加密方法,包括如下步骤:
(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_zhou zhe jiang ligong da xue xin xi xue yuan;并将该启动码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'不同,验证失败,则软件无法打开。
总之,以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所作的均等变化与修饰,皆应属本发明专利的涵盖范围。
Claims (1)
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比对成功,则运行软件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810636295.XA CN109002695A (zh) | 2018-06-20 | 2018-06-20 | 一种软件加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810636295.XA CN109002695A (zh) | 2018-06-20 | 2018-06-20 | 一种软件加密方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109002695A true CN109002695A (zh) | 2018-12-14 |
Family
ID=64600831
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810636295.XA Pending CN109002695A (zh) | 2018-06-20 | 2018-06-20 | 一种软件加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109002695A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111859311A (zh) * | 2020-07-03 | 2020-10-30 | 青岛鼎信通讯股份有限公司 | 一种基于CPU IP Security Engine的终端设备软件防非法拷贝方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101777108A (zh) * | 2010-01-22 | 2010-07-14 | 深圳创维数字技术股份有限公司 | 一种可执行exe文件的加密方法 |
CN102111753A (zh) * | 2010-12-07 | 2011-06-29 | 深圳市闪电通讯技术有限公司 | 一种手机软件加密方法 |
CN102495990A (zh) * | 2011-12-07 | 2012-06-13 | 惠州市德赛西威汽车电子有限公司 | 一种基于微型芯片的软件保护方法 |
-
2018
- 2018-06-20 CN CN201810636295.XA patent/CN109002695A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101777108A (zh) * | 2010-01-22 | 2010-07-14 | 深圳创维数字技术股份有限公司 | 一种可执行exe文件的加密方法 |
CN102111753A (zh) * | 2010-12-07 | 2011-06-29 | 深圳市闪电通讯技术有限公司 | 一种手机软件加密方法 |
CN102495990A (zh) * | 2011-12-07 | 2012-06-13 | 惠州市德赛西威汽车电子有限公司 | 一种基于微型芯片的软件保护方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111859311A (zh) * | 2020-07-03 | 2020-10-30 | 青岛鼎信通讯股份有限公司 | 一种基于CPU IP Security Engine的终端设备软件防非法拷贝方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6756045B2 (ja) | システム生成を伴うデバイスプログラミング | |
CN103038745B (zh) | 扩展完整性测量 | |
CN103221957B (zh) | 利用基于硬件的安全引擎的安全软件许可和供应 | |
US20130297944A1 (en) | Integrity protected smart card transaction | |
US20150172272A1 (en) | Distributed storage of password data | |
KR20070109826A (ko) | 디지털 저작권 관리 방법 및 장치 | |
CN106997438A (zh) | 一种可信服务器cpu设计方法 | |
JPH04100148A (ja) | アプリケーション・プログラムをライセンスするための方法および装置 | |
CN106503494A (zh) | 一种带有片上闪存微控制器的固件保护单元及保护方法 | |
KR20030091240A (ko) | 일련번호 발생 방법 및 그 장치 | |
CN110083604A (zh) | 一种数据确权方法及装置 | |
WO2022078366A1 (zh) | 应用保护方法、装置、设备及介质 | |
KR102011363B1 (ko) | 블록체인 인증을 이용한 소프트웨어 인증 방법 | |
WO2023087895A1 (zh) | 设备认证方法和系统、物联网设备和认证服务器 | |
CN109002695A (zh) | 一种软件加密方法 | |
CN105027133B (zh) | 基于用户输入显示图标 | |
CN106557682B (zh) | 加密狗的授权验证方法及装置 | |
KR20030038995A (ko) | 소프트웨어 불법복제 방지 시스템 및 방법 | |
CN109802927A (zh) | 一种安全服务提供方法及装置 | |
CN116775062A (zh) | 一种用于生产key的加密烧录方法 | |
CN103455358A (zh) | 电能表程序升级方法 | |
CN117009928A (zh) | 软件授权验证方法、计算机设备及存储介质 | |
CN106656495B (zh) | 一种用户口令存储的方法及装置 | |
CN102426592A (zh) | 一种基于动态口令的数据库初始化方法 | |
KR101322402B1 (ko) | 어플리케이션 보안 시스템 및 방법, 이를 위한 통신 단말기 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181214 |
|
RJ01 | Rejection of invention patent application after publication |