CN101604362A - 用于软件加密的计算机系统及方法 - Google Patents
用于软件加密的计算机系统及方法 Download PDFInfo
- Publication number
- CN101604362A CN101604362A CNA2008103021447A CN200810302144A CN101604362A CN 101604362 A CN101604362 A CN 101604362A CN A2008103021447 A CNA2008103021447 A CN A2008103021447A CN 200810302144 A CN200810302144 A CN 200810302144A CN 101604362 A CN101604362 A CN 101604362A
- Authority
- CN
- China
- Prior art keywords
- binary code
- software
- code
- called
- hardware information
- 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
Images
Landscapes
- Storage Device Security (AREA)
Abstract
一种软件加密的方法,该方法包括如下步骤:在软件进行安装时,获取主机的硬件信息,并将所述硬件信息换算成二进制码,该二进制码称为第一二进制码;根据所述硬件信息及通过加密算法生成一个密钥,并将该密钥换算成二进制码,该二进制码称为第二二进制码,加密算法在运算时对应的二进制码称为第三二进制码;根据所述第一二进制码、第二二进制码及第三二进制码生成一个新的二进制码,该二进制码称为第四二进制码;将所述第四二进制码转换成一个二维条码;将所述二维条码保存到安装该软件的目录下,实现对该软件加密。
Description
技术领域
本发明涉及一种用于软件加密的计算机系统及方法。
背景技术
信息产业的不断创新和广泛应用,特别是计算机网络与通信技术的快速发展,使人类冲破空间与时间的限制,信息和经济全球一体化趋势日益明显。软件产业从20世纪60年代初开始兴起,现在已经成为信息产业的核心。对于软件产业来说,盗版一直是一个沉重的话题,盗版猖獗,使正版用户减少,软件开发者得不到相应的经济回报,没有继续开发下去的基础和动力,给软件开发者造成经济损失。一般而言,软件的保护是对软件进行加密。当前流行的一些软件加密保护技术有:序列号保护、时间限制、Key File保护、加密狗及将软件与硬件进行关联等方式。这些流行的软件加密方式很大程度上防止了软件的盗版,但是这些加密方式过多的对加密模块中的算法进行复杂的设计且对加密模块进行简单的隐藏,如此一来,所产生的加密模块容量大,且在软件启动的时候会比较缓慢。
发明内容
鉴于以上内容,有必要提供一种用于软件加密的计算机系统,其可以利用计算机的硬件信息生成密钥,并将所生成的密钥转换成一个二维条码,由于二维条码容量低、占用空间小的特点,使软件在获得加密的同时,减少了空间容量,且二维条码本身具有加密功能,也进一步提高了解密的难度,减少了盗版。
此外,还有必要提供一种用于软件加密方法,其可以利用计算机的硬件信息生成密钥,并将所生成的密钥转换成一个二维条码,由于二维条码容量低、占用空间小的特点,使软件在获得加密的同时,减少了空间容量,且二维条码本身具有加密功能,也进一步提高了解密的难度,减少了盗版。
一种用于软件加密的计算机系统,该计算机系统包括:读取模块,用于在软件进行安装时,获取主机的硬件信息,并将所述硬件信息换算成二进制码,该二进制码称为第一二进制码;生成模块,用于根据所述硬件信息及通过加密算法生成一个密钥,并将该密钥换算成二进制码,该二进制码称为第二二进制码,加密算法在运算时对应的二进制码称为第三二进制码,及根据所述第一二进制码、第二二进制码及第三二进制码生成一个新的二进制码,该二进制码称为第四二进制码;转换模块,用于将所述第四二进制码转换成一个二维条码;保存模块,用于将二维条码保存到安装该软件的目录下,实现对该软件加密。
一种软件加密方法,该方法包括如下步骤:在软件进行安装时,获取主机的硬件信息,并将所述硬件信息换算成二进制码,该二进制码称为第一二进制码;根据所述硬件信息及通过加密算法生成一个密钥,并将该密钥换算成二进制码,该二进制码称为第二二进制码,加密算法在运算时对应的二进制码称为第三二进制码;根据所述第一二进制码、第二二进制码及第三二进制码生成一个新的二进制码,该二进制码称为第四二进制码;将所述第四二进制码转换成一个二维条码;将所述二维条码保存到安装该软件的目录下,实现对该软件加密。
相较于现有技术,所述的软件加密的计算机系统及方法,其可以利用计算机的硬件信息生成密钥,并将所生成的密钥转换成一个二维条码,由于二维条码容量低、占用空间小的特点,使软件在获得加密的同时,减少了空间容量,且二维条码本身具有加密功能,也进一步提高了解密的难度,减少了盗版。
附图说明
图1是本发明用于软件加密的计算机系统的较佳实施例的硬件框架图。
图2是本发明图1中主机的较佳实施例的功能模块图。
图3是本发明软件加密方法的较佳实施例的流程图。
具体实施方式
如图1所示,是本发明一种用于软件加密的计算机系统较佳实施例的硬件架构图。该计算机系统主要包括显示器1、主机2、键盘3及鼠标4。所述主机2连接有显示器1、键盘3及鼠标4,用作具体操作时的输入、输出设备。
如图2所示,是本发明图1中主机的较佳实施例的功能模块图。该主机包括获取模块210、生成模块211、转换模块212及保存模块213。
所述读取模块210用于在软件进行安装时,获取主机2的硬件信息,并将所述硬件信息换算成二进制码,该二进制码称为第一二进制码。在本较佳实施例中,所述主机2的硬件包括主机2的MAC(Media Access Control:介质访问控制)地址、主机2的IP地址。具体而言,由于操作系统中有包含硬件信息的模块,获取模块210通过读取操作系统中包含硬件信息模块中的数据就可以得到所述主机2的MAC地址及主机2的IP地址。由于所述MAC地址、IP地址都是字符串,根据二进制的运算法则可以将所述MAC地址、IP地址换算成对应的二进制码。
所述生成模块211用于根据所述硬件信息及通过加密算法生成一个密钥,并将该密钥换算成二进制码,该二进制码称为第二二进制码,加密算法在运算时对应的二进制码称为第三二进制码。所述密钥是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的数据,通过加密算法得到,在本较佳实施例中,所述的加密算法是指哈希(Hash)算法,在其他实施例中,也可以利用其它类型的加密算法(如,数据加密标准算法:DataEncryption Standard)得到密钥。产生密钥的方式是通过Hash算法将所述硬件信息转换成一个Hash值,该Hash值就是密钥,通常,为了提高安全性能,提高破解的难度,用户可以对所述Hash值按照一定规则再次进行转换,得到一个新的Hash值,则该新的Hash值就是密钥。具体而言,假设通过Hash算法将所述硬件信息转换成的Hash值为1234,若用户没有对该Hash进行转换,则该Hash值1234即为密钥,若用户设定一个规则(如:把该Hash值转变成4321)再次进行转换,则转变后的Hash值4321即为密钥。通常,加密算法在运行时,最终都会转换成二进制机器语言,通过转换后的二进制机器语言来执行该算法。所述的加密算法在运算时对应的二进制码是指转换后的二进制机器语言。
所述生成模块211还用于根据所述第一二进制码、第二二进制码及第三二进制码生成一个新的二进制码,该二进制码称为第四二进制码。所述第四二进制码的生成方式是将第一二进制码、第二二进制码及第三二进制码进行组合,得到一个二进制码。组合的方式可以是将三个二进制码按照顺序连接,具体而言,假设第一二进制码为0000,第二二进制码为1111,第三二进制码为1001,则组合后生成的第四二进制码为000011111001。
所述转换模块212用于将所述第四二进制码转换成一个二维条码。所述二维条码(2-dimensional bar code)是用一种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理,每种码制有其特定的字符集,每个字符占有一定的宽度,具有一定的校验功能等。二维条码还具有对不同行的信息自动识别功能、及处理图形旋转变化等特点。二维条码能够在横向和纵向两个方位同时表达信息,因此能在很小的面积内表达大量的信息。
所述保存模块213用于将所述二维条码保存到安装该软件的目录下,实现对该软件加密。
经过加密后的软件,用户在运行该软件的时候,首先读取主机2上的硬件信息的二进制码,之后在该软件的安装目录下找到二维条码,对该二维条码进行解密得到上述第四二进制码,由于第四二进制码中包含第一二进制码,根据组合第四二进制码的规则,从中解密出第一二进制码,将解密出来的第一二进制码与所述读取的主机2中硬件信息的二进制码进行比对,若不一致,则该软件在运行一段时间后,自动退出,若一致,则该软件继续运行。用户在对二维条码的解密过程中,若解密错误,即:从二维条码中解密出来的第一二进制码与主机2上的硬件信息的二进制码不一致,则会返回错误的数据值以供该软件继续执行一段时间后再报错误信息,之后自动退出,这样使破解者无法找到软件破解入口。
如图3所示,是本发明软件加密方法的较佳实施例的流程图。首先,步骤S10,在软件进行安装时,获取模块210获取主机2的硬件信息并将所述硬件信息换算成二进制码,该二进制码称为第一二进制码。在本较佳实施例中,所述主机2的硬件包括主机2的MAC(MediaAccess Control:介质访问控制)地址、主机2的IP地址。具体而言,由于操作系统中有包含硬件信息的模块,获取模块210通过读取操作系统中包含硬件信息模块中的数据就可以得到所述主机2的MAC地址及主机2的IP地址。由于所述MAC地址、IP地址都是字符串,根据二进制的运算法则可以将所述MAC地址、IP地址换算成对应的二进制码。
步骤S11,生成模块211根据所述硬件信息及通过加密算法生成一个密钥,并将该密钥换算成二进制码,该二进制码称为第二二进制码,加密算法在运算时对应的二进制码称为第三二进制码。所述密钥是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的数据,通过加密算法得到,在本较佳实施例中,所述的加密算法是指哈希(Hash)算法,在其他实施例中,也可以利用其它类型的加密算法(如,数据加密标准算法:DataEncryption Standard)得到密钥。产生密钥的方式是通过Hash算法将所述硬件信息转换成一个Hash值,该Hash值就是密钥,通常,为了提高安全性能,提高破解的难度,用户可以对所述Hash值按照一定规则再次进行转换,得到一个新的Hash值,则该新的Hash值就是密钥。具体而言,假设通过Hash算法将所述硬件信息转换成的Hash值为1234,若用户没有对该Hash进行转换,则该Hash值1234即为密钥,若用户设定一个规则(如:把该Hash值转变成4321)再次进行转换,则转变后的Hash值4321即为密钥。通常,加密算法在运行时,最终都会转换成二进制机器语言,通过转换后的二进制机器语言来执行该算法。所述的加密算法在运算时对应的二进制码是指转换后的二进制机器语言。
步骤S12,生成模块211根据所述第一二进制码、第二二进制码及第三二进制码生成一个新的二进制码,该二进制码称为第四二进制码。所述第四二进制码的生成方式是将第一二进制码、第二二进制码及第三二进制码进行组合,得到一个二进制码。具体而言,在本较佳实施例中,假设第一二进制码为0101,第二二进制码为0111,第三二进制码为1111,则组合后生成的第四二进制码为010101111111。
步骤S13,转换模块212将所述第四二进制码转换成一个二维条码。所述二维条码(2-dimensional bar code)是用一种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理,每种码制有其特定的字符集,每个字符占有一定的宽度,具有一定的校验功能等。二维条码还具有对不同行的信息自动识别功能、及处理图形旋转变化等特点。二维条码能够在横向和纵向两个方位同时表达信息,因此能在很小的面积内表达大量的信息。二维条码的类型包括堆叠式二维条码、矩阵式二维条码,在本较佳实施例中,所述二维条码是矩阵式二维条码。
步骤S14,保存模块213将所述二维条码保存到安装该软件的目录下,实现对该软件加密。
经过加密后的软件,用户在运行该软件的时候,首先读取主机2上的硬件信息的二进制码,之后在该软件的安装目录下找到二维条码,对该二维条码进行解密得到上述第四二进制码,由于第四二进制码中包含第一二进制码,根据组合第四二进制码的规则,从中解密出第一二进制码,将解密出来的第一二进制码与所述读取的主机2中硬件信息的二进制码进行比对,若不一致,则该软件在运行一段时间后,自动退出,若一致,则该软件继续运行。用户在对二维条码的解密过程中,若解密错误,即:从二维条码中解密出来的第一二进制码与主机2上的硬件信息的二进制码不一致,则会返回错误的数据值以供该软件继续执行一段时间后再报错误信息,之后自动退出,这样使破解者无法找到软件破解入口。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照以上较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (8)
1.一种用于软件加密的计算机系统,其特征在于,该计算机系统包括:
读取模块,用于在软件进行安装时,获取主机的硬件信息,并将所述硬件信息换算成二进制码,该二进制码称为第一二进制码;
生成模块,用于根据所述硬件信息及通过加密算法生成一个密钥,并将该密钥换算成二进制码,该二进制码称为第二二进制码,加密算法在运算时对应的二进制码称为第三二进制码,及根据所述第一二进制码、第二二进制码及第三二进制码生成一个新的二进制码,该二进制码称为第四二进制码;
转换模块,用于将所述第四二进制码转换成一个二维条码;及
保存模块,用于将二维条码保存到安装该软件的目录下,实现对该软件加密。
2.如权利要求1所述的计算机系统,其特征在于,所述主机的硬件信息是指主机的MAC地址及IP地址。
3.如权利要求1所述的计算机系统,其特征在于,所述加密算法为Hash算法。
4.如权利要求1所述的计算机系统,其特征在于,所述二维条码是矩阵式二维条码。
5.一种软件加密方法,其特征在于,该方法包括如下步骤:
在软件进行安装时,获取主机的硬件信息,并将所述硬件信息换算成二进制码,该二进制码称为第一二进制码;
根据所述硬件信息及通过加密算法生成一个密钥,并将该密钥换算成二进制码,该二进制码称为第二二进制码,加密算法在运算时对应的二进制码称为第三二进制码;
根据所述第一二进制码、第二二进制码及第三二进制码生成一个新的二进制码,该二进制码称为第四二进制码;
将所述第四二进制码转换成一个二维条码;及
将所述二维条码保存到安装该软件的目录下,实现对该软件加密。
6.如权利要求5所述的软件加密方法,其特征在于,所述主机的硬件信息是指主机的MAC地址及IP地址。
7.如权利要求5所述的软件加密方法,其特征在于,所述加密算法为Hash算法。
8.如权利要求5所述的软件加密方法,其特征在于,所述二维条码是矩阵式二维条码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008103021447A CN101604362A (zh) | 2008-06-13 | 2008-06-13 | 用于软件加密的计算机系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008103021447A CN101604362A (zh) | 2008-06-13 | 2008-06-13 | 用于软件加密的计算机系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101604362A true CN101604362A (zh) | 2009-12-16 |
Family
ID=41470089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008103021447A Pending CN101604362A (zh) | 2008-06-13 | 2008-06-13 | 用于软件加密的计算机系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101604362A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101976388A (zh) * | 2010-10-25 | 2011-02-16 | 周守强 | 产品防盗方法及系统 |
CN103119889A (zh) * | 2010-09-24 | 2013-05-22 | 英特尔公司 | 使用硬件超级密钥验证和保护正版软件安装 |
CN103873230A (zh) * | 2014-04-06 | 2014-06-18 | 汪风珍 | 单向加密解密 |
-
2008
- 2008-06-13 CN CNA2008103021447A patent/CN101604362A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103119889A (zh) * | 2010-09-24 | 2013-05-22 | 英特尔公司 | 使用硬件超级密钥验证和保护正版软件安装 |
CN103119889B (zh) * | 2010-09-24 | 2015-09-09 | 英特尔公司 | 使用硬件超级密钥验证和保护正版软件安装的装置、系统、方法和控制器 |
CN101976388A (zh) * | 2010-10-25 | 2011-02-16 | 周守强 | 产品防盗方法及系统 |
CN103873230A (zh) * | 2014-04-06 | 2014-06-18 | 汪风珍 | 单向加密解密 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Abdullah et al. | New approaches to encrypt and decrypt data in image using cryptography and steganography algorithm | |
CN103778590B (zh) | 利用数字图像存储和传输信息的方法和装置 | |
CN103825723A (zh) | 一种加密方法和装置 | |
CN102282798A (zh) | 一种用于隐藏通信信道中加密的存在的高效带宽的方法和系统 | |
GB2528959A (en) | Encoder, decoder and method | |
CN110417720A (zh) | 一种在物理隔离的情况下进行信息传输的方法 | |
CN109547663B (zh) | 一种结合密码学的改进lsb图像隐写方法 | |
Gayathri et al. | Hybrid cryptography for random-key generation based on ECC algorithm | |
CN1533648A (zh) | 生成用于检测在处理期间加密数据的虚假改造的数据的设备及方法 | |
Zhang et al. | Novel multiple images encryption algorithm using CML system and DNA encoding | |
CN101604362A (zh) | 用于软件加密的计算机系统及方法 | |
CN112784943A (zh) | 二维码加密方法及系统、设备及存储介质 | |
CN110175462B (zh) | 一种跨平台解密方法、装置及存储介质 | |
CN110086633B (zh) | 一种区块链技术中密文防篡改方法 | |
CN109829322B (zh) | 基于授权信息的数媒文件实时加解密方法与系统 | |
KR100995123B1 (ko) | 암호화 방법, 클라이언트의 데이터 처리 방법 | |
Thitme et al. | A recent study of various encryption and decryption techniques | |
Patro et al. | Text-to-Image Encryption and Decryption Using Piece Wise Linear Chaotic Maps | |
Mohd Salleh et al. | A review on structured scheme representation on data security application | |
CN101534191A (zh) | 一文一密的动态加密方法 | |
Trivedi et al. | DDNA: A modified concept to DNA cryptography | |
Wang et al. | Steganographic method based on keyword shift | |
Tsai et al. | An (3, 3)-visual secret sharing scheme for hiding three secret data | |
JP6202969B2 (ja) | 情報処理装置、暗号化方法 | |
Chen et al. | An improved privacy protection algorithm for multimodal data fusion |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20091216 |