CN109002695A - 一种软件加密方法 - Google Patents

一种软件加密方法 Download PDF

Info

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
Application number
CN201810636295.XA
Other languages
English (en)
Inventor
阮丽娜
任祝
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University of Technology ZJUT
Original Assignee
Zhejiang University of Technology ZJUT
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang University of Technology ZJUT filed Critical Zhejiang University of Technology ZJUT
Priority to CN201810636295.XA priority Critical patent/CN109002695A/zh
Publication of CN109002695A publication Critical patent/CN109002695A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting 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比对成功,则运行软件。
CN201810636295.XA 2018-06-20 2018-06-20 一种软件加密方法 Pending CN109002695A (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111859311A (zh) * 2020-07-03 2020-10-30 青岛鼎信通讯股份有限公司 一种基于CPU IP Security Engine的终端设备软件防非法拷贝方法

Citations (3)

* Cited by examiner, † Cited by third party
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 惠州市德赛西威汽车电子有限公司 一种基于微型芯片的软件保护方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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