CN103023641A - 一种序列号生成验证方法 - Google Patents
一种序列号生成验证方法 Download PDFInfo
- Publication number
- CN103023641A CN103023641A CN2012104123533A CN201210412353A CN103023641A CN 103023641 A CN103023641 A CN 103023641A CN 2012104123533 A CN2012104123533 A CN 2012104123533A CN 201210412353 A CN201210412353 A CN 201210412353A CN 103023641 A CN103023641 A CN 103023641A
- Authority
- CN
- China
- Prior art keywords
- sequence number
- keyword
- sequence
- group
- serial number
- 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.)
- Granted
Links
Landscapes
- Storage Device Security (AREA)
Abstract
本发明提供一种序列号生成验证方法,该方法包括确定一组随机数字和关键数字,组合成为第一组关键字,该随机数字不重复;确定自定义部分并分别与第一组关键字进行异或操作,成为第二组关键字;用加密算法对第一组和第二组关键字进行加密,得到第三组关键字;将三组关键字组合为明文序列,并用分配秘钥算法得到的私有密钥对明文序列加密得到序列号;对所得序列号进行验证。该一种序列号生成验证方法和现有技术相比,序列号生成方法相对简单,且采用了经过大众认可的较为安全的加密算法,并加入了密钥的使用,能够保证序列号的安全,有效的保证了开发者与消费者的权益。
Description
技术领域
本发明涉及一种数据加密的方法,具体地说是一种序列号生成验证方法。
背景技术
现代商业软件产品通常作为包含软件代码和字母数字的产品密钥的物理介质来交付。软件供应商在对待特定用户和计算机启用与该软件相关联的完全权限之前要求其产品完成“激活”过程是常见的。
序列号安装可以有效的保护软件,使得开发者与消费者的权利可以得到保障。虽然目前的序列号生成与验证方法很多,但多较为复杂,不够灵活。而且验证方式多为一次性验证,不具有检查与更新的功能。
发明内容
本发明的技术任务是针对在现有技术的不足,提供一种采用小巧、简单、灵活的方法完成较高复杂系数的密钥生成与验证,并且能够对序列号进行有效管理,提供校验功能的序列号生成和验证方法。
本发明的技术方案是按以下方式实现的,该一种序列号生成验证方法,该方法的具体实现过程为:
1)、确定一组随机数字和关键数字,组合成为第一组关键字,该随机数字不重复;
2)、确定自定义部分并分别与第一组关键字进行异或操作,成为第二组关键字;
3)、用加密算法对第一组和第二组关键字进行加密,得到第三组关键字;
4)、将三组关键字组合为明文序列,并用分配秘钥算法得到的私有密钥对明文序列加密得到序列号;
5)、对步骤4)所得序列号进行验证。
所述步骤3)中的加密算法为SHA1加密算法。
所述步骤4)中的分配秘钥算法是指RSA算法。
所述验证过程为:
使用公有密钥对序列号进行解密,得到明文序列;
将明文序列还原为三组关键字;
分别对明文序列的相应部分进行异或操作,得到每个字段的值,在字典中查找这些值相应的操作,进而完成验证。
本发明与现有技术相比所产生的有益效果是:
本发明的一种序列号生成验证方法序列号生成方法相对简单,且采用了经过大众认可的较为安全的加密算法,并加入了密钥的使用,能够保证序列号的安全,有效的保证了开发者与消费者的权益,成本低,实用性强。
具体实施方式
现在提供一种序列号生成验证方法,其包括以下步骤:
1)、确定一组随机数字,确保序列号不重复;
2)、确定一组关键数字;
3)、将步骤1)中确定的随机数字与步骤2)中确定的关键数字进行组合,得到一组新的关键字Keystr;
4)、重新确定一组关键字;
5)、将步骤4)产生的关键字的各部分与Keystr相应的部分进行异或操作生成一组数字Payloadstr;
6)、将Keystr与Payloadstr组合,经过SHA1散列算法加密, 取前两位十六进制数生成一组数字Checksum,用于验证序列号正确性;
7)、将Kerstr、Checksum、Payloadstr组成加密使用的明文序列;
8)、使用非对称的RSA分配密钥算法得出私有密钥和公有密钥,使用私有密钥对明文序列加密生成序列号;
9)、对所生成的序列号进行验证:使用公有密钥对序列号进行解密,得到明文序列;将明文序列按照长度还原为Keystr,Checksum,Payloadstr;对Keystr和Payloadstr的组合进行SHA1加密,验证结果是否与Checksum相同;分别对明文序列的Keystr和Payloadstr部分进行异或操作,得到每个字段的值,在字典中查找这些值相应的操作,进而完成验证。
具体实施例
步骤101,确定当前的系统日期Time,此日期需要精确到天,长度为16bit;
步骤102,确定一组随机数字Random,用来保证序列号不会重复,长度为8bit;这组随机数的长度在一个具体的实施例中比关键字的长度要长,越长的随机数加密效果越好。随机数可以采用现有很多随即算法生成。
步骤103,将Time与Random组合,得到Keystr,长度为24bit;
步骤104,将软件的编号与步骤103所得到的Keystr的高14bit进行异或操作,得到值为Option,长度为14bit;
步骤105,将软件的版本代号与步骤103所得的Keystr的次高6bit进行异或操作,得到值为Product,长度为6bit;
步骤106,将软件的安装类型代号与步骤103所得的Keystr的低4bit进行异或操作,得到值为Type,长度为4bit;
步骤107,将Option,Product,Type组合,得到Payloadstr,长度为24bit;
步骤108,将步骤103所得的Keystr与步骤107所得的Payloadstr组合,用SHA1算法进行加密运算,取结果的前两位十六进制数,记为Checksum,可以验证Keystr与Payloadstr的正确性;
步骤109,将Keystr,Checksum,Payloadstr组合,成为明文序列;
步骤110,用RSA算法得出公私密钥,并用私钥对明文序列进行加密,得到值即为序列号。
步骤201,将序列号用公有密钥进行解密,得到明文序列;
步骤202,将明文序列按照长度还原为Keystr,Checksum,Payloadstr;
步骤203,将上一步骤所得的Keystr与Payloadstr组合并用SHA1算法进行加密运算,验证结果是否与Checksum相同;
步骤204,对Payloadstr进行异或操作,按照长度对各部分与字典中的对应值进行验证比较。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改,等同替换等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种序列号生成验证方法,其特征在于该方法的具体实现过程为:
1)、确定一组随机数字和关键数字,组合成为第一组关键字,该随机数字不重复;
2)、确定自定义部分并分别与第一组关键字进行异或操作,成为第二组关键字;
3)、用加密算法对第一组和第二组关键字进行加密,得到第三组关键字;
4)、将三组关键字组合为明文序列,并用分配秘钥算法得到的私有密钥对明文序列加密得到序列号;
5)、对步骤4)所得序列号进行验证。
2.根据权利要求1所述的一种序列号生成验证方法,其特征在于:所述步骤3)中的加密算法为SHA1加密算法。
3.根据权利要求1所述的一种序列号生成验证方法,其特征在于:所述步骤4)中的分配秘钥算法是指RSA算法。
4.根据权利要求1所述的一种序列号生成验证方法,其特征在于:所述验证过程为:
使用公有密钥对序列号进行解密,得到明文序列;
将明文序列还原为三组关键字;
分别对明文序列的相应部分进行异或操作,得到每个字段的值,在字典中查找这些值相应的操作,进而完成验证。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210412353.3A CN103023641B (zh) | 2012-10-25 | 2012-10-25 | 一种序列号生成验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210412353.3A CN103023641B (zh) | 2012-10-25 | 2012-10-25 | 一种序列号生成验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103023641A true CN103023641A (zh) | 2013-04-03 |
CN103023641B CN103023641B (zh) | 2017-03-15 |
Family
ID=47971803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210412353.3A Active CN103023641B (zh) | 2012-10-25 | 2012-10-25 | 一种序列号生成验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103023641B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104486067A (zh) * | 2014-12-02 | 2015-04-01 | 浪潮(北京)电子信息产业有限公司 | 一种生成固定长度序列号的方法及装置 |
CN105763518A (zh) * | 2014-12-19 | 2016-07-13 | 江苏融成嘉益信息科技有限公司 | 一种基于b/s架构的远程数据加密方法 |
CN116186796A (zh) * | 2023-02-21 | 2023-05-30 | 中国人民解放军海军工程大学 | 序列号生成方法、系统、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040228484A1 (en) * | 2003-03-27 | 2004-11-18 | Ryogo Yanagisawa | Public key generation apparatus, shared key generation apparatus, key exchange apparatus, and key exchanging method |
CN101500232A (zh) * | 2009-03-13 | 2009-08-05 | 北京华大智宝电子系统有限公司 | 实现动态身份认证的方法及系统 |
CN101552672A (zh) * | 2009-04-15 | 2009-10-07 | 胡祥义 | 一种基于标识认证的全球网络实名制实现方法 |
CN101800981A (zh) * | 2010-01-25 | 2010-08-11 | 上海华为技术有限公司 | 动态安全关联的管理方法及一种通讯实体 |
-
2012
- 2012-10-25 CN CN201210412353.3A patent/CN103023641B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040228484A1 (en) * | 2003-03-27 | 2004-11-18 | Ryogo Yanagisawa | Public key generation apparatus, shared key generation apparatus, key exchange apparatus, and key exchanging method |
CN101500232A (zh) * | 2009-03-13 | 2009-08-05 | 北京华大智宝电子系统有限公司 | 实现动态身份认证的方法及系统 |
CN101552672A (zh) * | 2009-04-15 | 2009-10-07 | 胡祥义 | 一种基于标识认证的全球网络实名制实现方法 |
CN101800981A (zh) * | 2010-01-25 | 2010-08-11 | 上海华为技术有限公司 | 动态安全关联的管理方法及一种通讯实体 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104486067A (zh) * | 2014-12-02 | 2015-04-01 | 浪潮(北京)电子信息产业有限公司 | 一种生成固定长度序列号的方法及装置 |
CN104486067B (zh) * | 2014-12-02 | 2017-12-19 | 浪潮(北京)电子信息产业有限公司 | 一种生成固定长度序列号的方法及装置 |
CN105763518A (zh) * | 2014-12-19 | 2016-07-13 | 江苏融成嘉益信息科技有限公司 | 一种基于b/s架构的远程数据加密方法 |
CN116186796A (zh) * | 2023-02-21 | 2023-05-30 | 中国人民解放军海军工程大学 | 序列号生成方法、系统、电子设备及存储介质 |
CN116186796B (zh) * | 2023-02-21 | 2024-01-30 | 中国人民解放军海军工程大学 | 序列号生成方法、系统、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103023641B (zh) | 2017-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2965254B1 (en) | Systems and methods for maintaining integrity and secrecy in untrusted computing platforms | |
CN102138300B (zh) | 消息认证码预计算在安全存储器中的应用 | |
WO2019166001A1 (zh) | 令牌生成和校验方法及智能终端 | |
CN101996154B (zh) | 支持可重组安全设计的通用处理器 | |
US10880100B2 (en) | Apparatus and method for certificate enrollment | |
CN105450620A (zh) | 一种信息处理方法及装置 | |
CN103716157A (zh) | 分组多密钥加密方法及装置 | |
TWI809292B (zh) | 資料的加解密方法、裝置、存儲介質及加密文件 | |
CN102025503B (zh) | 一种集群环境下数据安全实现方法和一种高安全性的集群 | |
CN105184181B (zh) | 文件的加密方法、解密方法及装置 | |
CN103595698B (zh) | 一种数字权益管理方法 | |
CN111625791B (zh) | 一种基于软件密码模块的密钥管理方法及系统 | |
CN103051446B (zh) | 一种密钥加密存储方法 | |
CN107302436A (zh) | 一种usb接口标识密码钥匙 | |
CN113312608B (zh) | 一种基于时间戳的电力计量终端身份认证方法及系统 | |
CN111314050A (zh) | 一种加解密方法及装置 | |
CN112019326A (zh) | 一种车辆充电安全管理方法及系统 | |
CN102270285B (zh) | 密钥授权信息管理方法及装置 | |
CN101651538A (zh) | 一种基于可信密码模块的数据安全传输方法 | |
CN103023641A (zh) | 一种序列号生成验证方法 | |
CN103605919A (zh) | 软件认证文件生成方法和装置、软件认证方法和装置 | |
CN115865330B (zh) | 一种基于区块链的链上信息修改的监管方法及介质 | |
CN110457924A (zh) | 存储数据保护方法及装置 | |
CN106921486A (zh) | 数据加密的方法和装置 | |
CN115766244A (zh) | 车联网信息加密方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20170213 Address after: 450000 Henan province Zheng Dong New District of Zhengzhou City Xinyi Road No. 278 16 floor room 1601 Applicant after: Zhengzhou Yunhai Information Technology Co. Ltd. Address before: 250014 Shandong Province, Ji'nan City hi tech Development Zone, Nga Road No. 1036 Applicant before: Langchao Electronic Information Industry Co., Ltd. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |