CN101533435A - 一种序列号生成和验证的方法 - Google Patents
一种序列号生成和验证的方法 Download PDFInfo
- Publication number
- CN101533435A CN101533435A CN 200910082139 CN200910082139A CN101533435A CN 101533435 A CN101533435 A CN 101533435A CN 200910082139 CN200910082139 CN 200910082139 CN 200910082139 A CN200910082139 A CN 200910082139A CN 101533435 A CN101533435 A CN 101533435A
- Authority
- CN
- China
- Prior art keywords
- array
- ascii character
- character value
- key word
- result
- 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
Abstract
本发明提供了一种序列号生成方法,包括确定一组关键字数组;对关键字数组随机生成一随机数数组;将所述关键字数组和随机数数组转换成ASCII码值;对关键字和随机数组的ASCII码值进行进制转换生成一组结果数组ASCII码值;和将结果数组ASCII码值与一自建译码对照表对照生成结果数组。本发明还提供一种序列号验证的方法,输入序列号并用序列号生成的方法计算出待验证数组,将待验证数组中原始关键字所在位与所述结果数组对应位比对,结果一致的为合法验证码。
Description
技术领域
本发明涉及一种数据加密的方法,特别是一种序列号加密验证的方法。
技术背景
很多软件将密钥固化在客户端,这样做可以方便比对和加密解密,但是一旦程序被反编译之后,计算方法可以分析出来,因此将密钥固化在客户端是相当危险的。因此采用序列号来安装软件是一种通行的做法。
序列号生成的方法很多,但大多复杂,不够灵活。
发明内容
有鉴于此,本发明的目的在于提供一种序列号生成和验证的方法,采用小巧、简单、灵活的方法完成了较高复杂系数的密钥生成方法。
为了达到上述目的,本发明提供一种序列号生成方法,包括:
确定一组关键字数组;
对关键字数组随机生成一随机数数组;
将所述关键字数组和随机数数组转换成ASCII码值;
对关键字和随机数组的ASCII码值进行进制转换生成一组结果数组ASCII码值;和
将结果数组ASCII码值与一自建译码对照表对照生成结果数组。
进一步地,所述关键字为一组字母。
进一步地,所述随机数数组为一组字母和数字的组合。
进一步地,所述结果数组为一组字母和数字的组合。
进一步地,所述关键字和随机数组的ASCII码值进行进制转换生成一组结果数组ASCII码值的步骤包括:
生成随机位使关键字数组长度与随机数数组长度一致;
将补齐后的关键字数组ASCII码值和随机数数组ASCII码值对位计算;和
将计算结果作为结果数组的ASCII码值。
进一步地,所述生成随机位将关键字长度与随机数数组长度一致的步骤包括:在关键字的前面、后面或中间随机加入若干位字母或数字。
进一步地,所述将补齐后的关键字ASCII码值和随机数ASCII码值对位计算步骤具体为,将关键字ASCII码值和补齐后的随机数组ASCII码值对位相加或者相减。
本发明还提供了一种验证序列号的方法,其包括:
输入包括关键字数组、随机数组和结果数组的序列号;
将关键字数组按照验证码生成时的规则补齐;
将补齐后的关键字数组ASCII码值和随机数数组ASCII码值按照生成时的规则对位计算,将计算结果作为待验证数组的ASCII码值;
将待验证数组ASCII码值与一自建译码对照表对照生成待验证数组;
将所述待验证数组中原始关键字所在位与所述结果数组对应位比对,结果一致的为合法验证码。
本发明通过ASCII码值的计算和译码对照表的使用,采用比较简单的方法实现了高复杂度的序列号生成和验证,替换译码对照表的内容即可将加密结果完全更改,应用更加灵活。同时由于采用随机补齐关键字,并且对关键字部分内容补充无用数据,增加了破解的难度,使得序列号数据更加安全可靠。
附图说明
图1是序列号生成的一个具体的实施例的流程图;
图2是序列号验证的一个具体的实施例的流程图;
具体实施方式
本发明提供了一种序列号生成方法。采用关键字生成随机序列后并对对应的ASCII码值计算,并利用一个随时可以更改的对照表对计算结果查表生成验证结果。
下面分别对序列号的生成和验证的方法进行解释。请参看图1所示,图1是序列号生成的一个具体的实施例的流程图。
步骤101,确定一组关键字数组。关键字数组用于区分用户所属类型和部门的,比如采用CHA、USA、RUS等国家代码可以确定国别、采用A01、B05可以区分组别和类型等等。关键字数组可以方便地对序列号进行分类管理。
步骤102,对关键字数组随机生成一随机数数组。这组随机数组的长度在一个具体的实施例中比关键字的长度要长,越长的随机数组加密效果越好。随机数组可以采用现有很多随机算法生成。
步骤103,生成随机位使关键字数组长度与随机数数组长度一致。对关键字补齐长度的方法为可以在关键字的前面、后面或中间随机加入若干位字母或数字。补齐的位置和补齐的长度都可以随机生成,并将关键字在补齐后的位置记录下来。
步骤104,将补齐后的关键字和随机数数组转换成ASCII码值;
步骤105,将补齐后的关键字ASCII码值和随机数ASCII码值对位计算。在一个具体的实施例中为进行加法或者减法计算。
步骤106,将计算结果作为结果数组的ASCII码值。
步骤107,将结果数组ASCII码值与一自建译码对照表对照生成结果数组。所述自建译码对照表是一个包含所有可能结果的对照表,该表是本发明里一个重要的密钥参数,改变该表的对应关系即可立刻生成出一套新的加密序列号。同时,将该表保存在网络服务器端可以更有效地保护密钥的安全。用户在验证的时候需要通过网络对密钥验证,而密钥参数也就是所述对照表可以随时更改,大大增加了密钥的安全性。
本发明还提供了一种序列号验证的方法,具体请参看图2所示。图2为在一个具体的实施例中,序列号验证的流程图。其包括:
步骤201,输入包括关键字数组、随机数组和结果数组的序列号。
步骤202,将关键字数组按照验证码生成时的规则补齐。该规则在验证码生成的时候就已经保存好了。
步骤203,将补齐后的关键字数组ASCII码值和随机数数组ASCII码值按照生成时的规则对位计算,将计算结果作为待验证数组的ASCII码值。该步骤重复步骤105的计算,目的是利用关键字数组和补齐后的关键字数组重新计算待验证数组并与输入的结果数组比对。
步骤204,将待验证数组ASCII码值与一自建译码对照表对照生成待验证数组。
步骤205,将所述待验证数组中原始关键字所在位与所述结果数组对应位比对,结果一致的为合法验证码。在一个具体的实施例中,关键字为CHA,随机数数组为JL9ODT,随机将CHA补充为CHA(AAA),这样计算出一个待验证数组LGBOFM,这是仅需要验证CHA所在的前三位也就是待验证数组中的LGB与结果数组中的前三位是否一致即可。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种序列号生成方法,包括:
确定一组关键字数组;
对关键字数组随机生成一随机数数组;
将所述关键字数组和随机数数组转换成ASCII码值;
对关键字和随机数组的ASCII码值进行进制转换生成一组结果数组ASCII码值;和
将结果数组ASCII码值与一自建译码对照表对照生成结果数组。
2.根据权利要求1所述的方法,其特征在于,所述关键字为一组字母。
3.根据权利要求1所述的方法,其特征在于,所述随机数数组为一组字母和数字的组合。
4.根据权利要求1所述的方法,其特征在于,所述结果数组为一组字母和数字的组合。
5.根据权利要求1所述的方法,其特征在于,所述关键字和随机数组的ASCII码值进行进制转换生成一组结果数组ASCII码值的步骤包括:
生成随机位使关键字数组长度与随机数数组长度一致;
将补齐后的关键字数组ASCII码值和随机数数组ASCII码值对位计算;和
将计算结果作为结果数组的ASCII码值。
6.根据权利要求5所述的方法,其特征在于,所述生成随机位将关键字长度与随机数数组长度一致的步骤包括:在关键字的前面、后面或中间随机加入若干位字母或数字。
7.根据权利要求5所述的方法,其特征在于,所述将补齐后的关键字ASCII码值和随机数ASCII码值对位计算步骤具体为,将关键字ASCII码值和补齐后的随机数组ASCII码值对位相加或者相减。
8.一种验证如权利要求1所述生成的序列号的方法,其包括:
输入包括关键字数组、随机数组和结果数组的序列号;
将关键字数组按照验证码生成时的规则补齐;
将补齐后的关键字数组ASCII码值和随机数数组ASCII码值按照生成时的规则对位计算,将计算结果作为待验证数组的ASCII码值;
将待验证数组ASCII码值与一自建译码对照表对照生成待验证数组;
将所述待验证数组中原始关键字所在位与所述结果数组对应位比对,结果一致的为合法验证码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910082139 CN101533435A (zh) | 2009-04-16 | 2009-04-16 | 一种序列号生成和验证的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910082139 CN101533435A (zh) | 2009-04-16 | 2009-04-16 | 一种序列号生成和验证的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101533435A true CN101533435A (zh) | 2009-09-16 |
Family
ID=41104034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910082139 Pending CN101533435A (zh) | 2009-04-16 | 2009-04-16 | 一种序列号生成和验证的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101533435A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609330A (zh) * | 2012-02-06 | 2012-07-25 | 中国农业银行股份有限公司 | 一种凭据号码生成方法及系统 |
CN103117832A (zh) * | 2013-02-07 | 2013-05-22 | 哈尔滨工业大学 | 高强度信息加密方法 |
CN103257977A (zh) * | 2012-02-21 | 2013-08-21 | 阿里巴巴集团控股有限公司 | 获取标识号码的方法及装置 |
CN104361065A (zh) * | 2014-11-04 | 2015-02-18 | 福建亿榕信息技术有限公司 | 基于Zookeeper的分布式系统的有序序列号生成方法 |
CN105868587A (zh) * | 2016-03-24 | 2016-08-17 | 深圳市新格林耐特通信技术有限公司 | 一种加密、解密mac地址的方法和装置 |
CN106844288A (zh) * | 2015-12-07 | 2017-06-13 | 阿里巴巴集团控股有限公司 | 一种随机字符串生成方法及装置 |
CN108172260A (zh) * | 2017-12-30 | 2018-06-15 | 盛科网络(苏州)有限公司 | 一种ASIC芯片中Hash模块的验证方法及装置 |
CN108664521A (zh) * | 2017-04-01 | 2018-10-16 | 北京京东尚科信息技术有限公司 | 一种提供序列号的方法、装置、电子设备和可读存储介质 |
CN108809779A (zh) * | 2018-06-19 | 2018-11-13 | 北京上中元科技有限公司 | 一种新风净化设备自动识别/验证的方法 |
CN109445749A (zh) * | 2018-09-14 | 2019-03-08 | 高斯贝尔数码科技股份有限公司 | 一种不重复随机序列号生成方法及计算机终端 |
-
2009
- 2009-04-16 CN CN 200910082139 patent/CN101533435A/zh active Pending
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609330B (zh) * | 2012-02-06 | 2015-05-20 | 中国农业银行股份有限公司 | 一种凭据号码生成方法及系统 |
CN102609330A (zh) * | 2012-02-06 | 2012-07-25 | 中国农业银行股份有限公司 | 一种凭据号码生成方法及系统 |
CN103257977A (zh) * | 2012-02-21 | 2013-08-21 | 阿里巴巴集团控股有限公司 | 获取标识号码的方法及装置 |
CN103117832A (zh) * | 2013-02-07 | 2013-05-22 | 哈尔滨工业大学 | 高强度信息加密方法 |
CN104361065B (zh) * | 2014-11-04 | 2018-07-06 | 福建亿榕信息技术有限公司 | 基于Zookeeper的分布式系统的有序序列号生成方法 |
CN104361065A (zh) * | 2014-11-04 | 2015-02-18 | 福建亿榕信息技术有限公司 | 基于Zookeeper的分布式系统的有序序列号生成方法 |
CN106844288A (zh) * | 2015-12-07 | 2017-06-13 | 阿里巴巴集团控股有限公司 | 一种随机字符串生成方法及装置 |
WO2017097159A1 (zh) * | 2015-12-07 | 2017-06-15 | 阿里巴巴集团控股有限公司 | 一种随机字符串生成方法及装置 |
CN106844288B (zh) * | 2015-12-07 | 2022-03-22 | 创新先进技术有限公司 | 一种随机字符串生成方法及装置 |
US10489117B2 (en) | 2015-12-07 | 2019-11-26 | Alibaba Group Holding Limited | Method and apparatus for generating random character string |
CN105868587A (zh) * | 2016-03-24 | 2016-08-17 | 深圳市新格林耐特通信技术有限公司 | 一种加密、解密mac地址的方法和装置 |
CN105868587B (zh) * | 2016-03-24 | 2018-09-28 | 深圳市新格林耐特通信技术有限公司 | 一种加密、解密mac地址的方法和装置 |
CN108664521B (zh) * | 2017-04-01 | 2020-09-01 | 北京京东尚科信息技术有限公司 | 一种提供序列号的方法、装置、电子设备和可读存储介质 |
CN108664521A (zh) * | 2017-04-01 | 2018-10-16 | 北京京东尚科信息技术有限公司 | 一种提供序列号的方法、装置、电子设备和可读存储介质 |
US11314712B2 (en) | 2017-04-01 | 2022-04-26 | Beijing Jingdong Shangke Information Technology Co., Ltd. | Method and apparatus for providing serial number, electronic device and readable storage medium |
CN108172260A (zh) * | 2017-12-30 | 2018-06-15 | 盛科网络(苏州)有限公司 | 一种ASIC芯片中Hash模块的验证方法及装置 |
CN108172260B (zh) * | 2017-12-30 | 2020-06-26 | 盛科网络(苏州)有限公司 | 一种ASIC芯片中Hash模块的验证方法及装置 |
CN108809779A (zh) * | 2018-06-19 | 2018-11-13 | 北京上中元科技有限公司 | 一种新风净化设备自动识别/验证的方法 |
CN109445749A (zh) * | 2018-09-14 | 2019-03-08 | 高斯贝尔数码科技股份有限公司 | 一种不重复随机序列号生成方法及计算机终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101533435A (zh) | 一种序列号生成和验证的方法 | |
US9934400B2 (en) | System and methods for encrypting data | |
US8694467B2 (en) | Random number based data integrity verification method and system for distributed cloud storage | |
US8891768B2 (en) | Increasing data security in enterprise applications by obfuscating encryption keys | |
JP5412414B2 (ja) | 検索可能暗号処理システム | |
CN101369889B (zh) | 一种对文档进行电子签名的方法 | |
CN103780379B (zh) | 密码加密方法和系统以及密码校验方法和系统 | |
JP2013535903A5 (zh) | ||
CN104704501B (zh) | 在计算机系统中安全生成和存储密码 | |
CN107528689B (zh) | 一种基于Ukey的密码修改方法 | |
CN105282090B (zh) | 一种互联网上防非法访问的公开url加密编码方法 | |
US20160013933A1 (en) | Order-preserving encryption system, device, method, and program | |
CN106778292B (zh) | 一种Word加密文档的快速还原方法 | |
CN105743905A (zh) | 一种实现安全登录的方法、设备、装置及系统 | |
CN103942500B (zh) | 基于噪声的哈希密文再加密方法及再加密后的解密方法 | |
CN105656898B (zh) | 一种基于多维度信息的激活码数据处理系统及方法 | |
WO2016073048A2 (en) | Protecting against malicious modification in cryptographic operations | |
CN108696508A (zh) | 基于cn39码认证居民身份证号码的系统及方法 | |
CN102752285B (zh) | 基于高碰撞概率散列函数预先验证的计算机系统登录方法 | |
CN109412791B (zh) | 密钥信息处理方法、装置、电子设备及计算机可读介质 | |
CN101692266A (zh) | 利用隐藏分区与cpu id的高强度文件加密保护方法 | |
CN106650342B (zh) | 一种Jar包加固方法及系统 | |
CN104318461A (zh) | 一种基于密码机和USBKey的防伪码生成与验证方法 | |
CN104463003A (zh) | 一种文件加密保护方法 | |
KR102083415B1 (ko) | 암호화 파일에 대한 복호화 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20090916 |