CN106326761A - 一种sn码的加密方法及装置 - Google Patents
一种sn码的加密方法及装置 Download PDFInfo
- Publication number
- CN106326761A CN106326761A CN201610805472.3A CN201610805472A CN106326761A CN 106326761 A CN106326761 A CN 106326761A CN 201610805472 A CN201610805472 A CN 201610805472A CN 106326761 A CN106326761 A CN 106326761A
- Authority
- CN
- China
- Prior art keywords
- code
- encrypted
- value
- present bit
- default
- 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
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/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种SN码的加密方法及装置,用以对SN码进行加密,实现安全性的目的。所述方法包括:获取待加密SN码,确定所述待加密SN码的长度,其中,所述待加密SN码的各个位对应编号;针对所述待加密SN码的任意当前位,确定所述当前位对应的预设位;将所述待加密SN码的长度减去所述当前位的编号,得到的计算值作为所述预设位的值;将所述计算值作为序号,从预设的字符串中获取所述计算值对应的位的字符,并将该字符作为所述当前位的值。
Description
技术领域
本发明涉及互联网应用技术领域,特别涉及一种SN码的加密方法及装置。
背景技术
SN码是Serial Number的缩写,有时也叫SerialNo,也就是产品序列号,产品序列是为了验证“产品的合法身份”而引入的一个概念,它是用来保障用户的正版权益,享受合法服务的,一套正版的产品只对应一组产品序列号。SN码又称:机器码、认证码、注册申请码等。为了提高安全性,需要对SN码进行加密,亟待解决这一技术问题。
发明内容
本发明提供一种SN码的加密方法及装置,用以对SN码进行加密,实现安全性的目的。
本发明提供一种SN码的加密方法,包括:
获取待加密SN码,确定所述待加密SN码的长度,其中,所述待加密SN码的各个位对应编号;
针对所述待加密SN码的任意当前位,确定所述当前位对应的预设位;
将所述待加密SN码的长度减去所述当前位的编号,得到的计算值作为所述预设位的值;
将所述计算值作为序号,从预设的字符串中获取所述计算值对应的位的字符,并将该字符作为所述当前位的值。
在本发明一实施例中,所述待加密SN码为12位,且所述待加密SN码的各个位的编号为十进制。
在本发明一实施例中,针对所述待加密SN码的任意当前位,确定所述当前位对应的预设位,包括:
当所述当前位为第k位,则所述当前位对应的预设位为13-k位。
在本发明一实施例中,将所述计算值作为序号,从预设的字符串中获取所述计算值对应的位的字符,包括:
对所述预设的字符串的字符的前后位置进行变换,得到变换后的字符串;
将所述计算值作为序号,从所述变换后的字符串中获取所述计算值对应的位的字符。
在本发明一实施例中,对所述预设的字符串的字符的前后位置进行变换,包括:
基于所述当前位的编号,确定变换位数;
根据所述变换位数,对所述预设的字符串的字符的前后位置进行变换。
在本发明一实施例中,基于所述当前位的编号,确定变换位数,包括:
将所述当前位的编号的平方,加上2倍的所述当前位的编号,再加上数值5,得到的值确定为所述变换位数。
在本发明一实施例中,根据所述变换位数,对所述预设的字符串的字符的前后位置进行变换,包括:
从所述预设的字符串的开始位置确定所述变换位数的子字符串;
将确定的所述子字符串调整到所述预设的字符串的末尾位置处。
在本发明一实施例中,所述预设的字符串是16位三十六进制的一组字符串。
本发明还提供一种SN码的加密装置,包括:
长度确定模块,用于获取待加密SN码,确定所述待加密SN码的长度,其中,所述待加密SN码的各个位对应编号;
预设位确定模块,用于针对所述待加密SN码的任意当前位,确定所述当前位对应的预设位;
第一加密模块,用于将所述待加密SN码的长度减去所述当前位的编号,得到的计算值作为所述预设位的值;
第二加密模块,用于将所述计算值作为序号,从预设的字符串中获取所述计算值对应的位的字符,并将该字符作为所述当前位的值。
在本发明一实施例中,所述待加密SN码为12位,且所述待加密SN码的各个位的编号为十进制。
在本发明一实施例中,所述预设位确定模块还用于:
当所述当前位为第k位,则所述当前位对应的预设位为13-k位。
在本发明一实施例中,所述第二加密模块还用于:
对所述预设的字符串的字符的前后位置进行变换,得到变换后的字符串;
将所述计算值作为序号,从所述变换后的字符串中获取所述计算值对应的位的字符。
在本发明一实施例中,所述第二加密模块还用于:
基于所述当前位的编号,确定变换位数;
根据所述变换位数,对所述预设的字符串的字符的前后位置进行变换。
在本发明一实施例中,所述第二加密模块还用于:
将所述当前位的编号的平方,加上2倍的所述当前位的编号,再加上数值5,得到的值确定为所述变换位数。
在本发明一实施例中,所述第二加密模块还用于:
从所述预设的字符串的开始位置确定所述变换位数的子字符串;
将确定的所述子字符串调整到所述预设的字符串的末尾位置处。
在本发明一实施例中,所述预设的字符串是16位三十六进制的一组字符串。
在本发明实施例中,获取待加密SN码,确定待加密SN码的长度,其中,待加密SN码的各个位对应编号;针对待加密SN码的任意当前位,确定当前位对应的预设位;随后,将待加密SN码的长度减去当前位的编号,得到的计算值作为预设位的值;之后,将计算值作为序号,从预设的字符串中获取计算值对应的位的字符,并将该字符作为当前位的值。由此可见,本发明实施例能够对SN码进行加密,实现安全性的目的。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1所示为本发明一实施例中SN码的加密方法的流程图;
图2所示为本发明一实施例中SN码的解密方法的流程图;以及
图3所示为本发明一实施例中SN码的加密装置的结构示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
如图1所示为本发明一实施例中SN码的加密方法的流程图,该方法可以包括以下步骤S11-S14。
步骤S11,获取待加密SN码,确定待加密SN码的长度,其中,待加密SN码的各个位对应编号。
在该步骤中,待加密SN码可以为12位,且待加密SN码的各个位的编号为十进制。
步骤S12,针对待加密SN码的任意当前位,确定当前位对应的预设位。
步骤S13,将待加密SN码的长度减去当前位的编号,得到的计算值作为预设位的值。
步骤S14,将计算值作为序号,从预设的字符串中获取计算值对应的位的字符,并将该字符作为当前位的值。
在该步骤中,预设的字符串可以是16位三十六进制的一组字符串。三十六进制,是数据的一种表示方法,它由0-9,A-Z组成,字母不区分大小写。
在本发明实施例中,获取待加密SN码,确定待加密SN码的长度,其中,待加密SN码的各个位对应编号;针对待加密SN码的任意当前位,确定当前位对应的预设位;随后,将待加密SN码的长度减去当前位的编号,得到的计算值作为预设位的值;之后,将计算值作为序号,从预设的字符串中获取计算值对应的位的字符,并将该字符作为当前位的值。由此可见,本发明实施例能够对SN码进行加密,实现安全性的目的。
在本发明的可选实施例中,上文步骤S12中如果当前位为第k位,则当前位对应的预设位为13-k位。例如,待加密SN码为12位,如果当前位为第1位,则当前位对应的预设位为第12位,即待加密SN码的最后一位;如果当前位为第2位,则当前位对应的预设位为第11位,即待加密SN码的倒数第二位,等等。
在上文步骤S13和步骤S14中,针对当前位是第一位,假设第一位的编号为0,用长度减当前位的编号,即,12-0=12,得到最后一位的值,x=最后一位的值。随后,将x的值作为序号,从预设的字符串(即,Key)中获得第x位的字符,将该字符作为第一位的值。
同样地,针对当前位是第二位,假设第二位的编号为1,用长度减当前位的编号,即,12-1=11,得到倒数第二位的值,x=倒数第二位的值。随后,将x的值作为序号,从Key中获得第x位的字符,将该字符作为第二位的值。
针对当前位是第三位,重复上述过程,直至最后一位。
上文步骤S14中,将计算值作为序号,从预设的字符串中获取计算值对应的位的字符,本发明实施例提供了一种可选的方案,该方案包括以下步骤A1-A2。
步骤A1,对预设的字符串的字符的前后位置进行变换,得到变换后的字符串。
在该步骤中,在从Key中获取第x位的字符之前先要对Key做一次变换处理,可以基于当前位的编号,确定变换位数;进而,根据变换位数,对预设的字符串的字符的前后位置进行变换。
具体地,将当前位的编号的平方,加上2倍的当前位的编号,再加上数值5,得到的值确定为变换位数,即,变换方程是i的平方+2乘以i+5,其中,i为当前位的编号。进而,从预设的字符串的开始位置确定变换位数的子字符串;将确定的子字符串调整到预设的字符串的末尾位置处。在本发明的可选实施例中,i也可以为步骤S13中计算得到的计算值。
例如,Key为abcdefg012345678,获取第2位字符过程如下:首先1*1+2*1+5=8,那么Key经过变换成为12345678abcdefg0(把前面8位旋转到后面),那么第2位就是2。
步骤A2,将计算值作为序号,从变换后的字符串中获取计算值对应的位的字符。
相应地,SN码的解密方法是上述的逆过程。如图2所示为本发明一实施例中SN码的解密方法的流程图,该方法可以包括以下步骤S21-S23。
步骤S21,获取待解密SN码,确定待解密SN码的长度,其中,待解密SN码的各个位对应值。
步骤S22,针对待解密SN码的任意当前位,根据当前位的值,确定在预设的字符串中对应字符的序号或位。
步骤S23,将待解密SN码的长度减去确定的序号或位,作为当前位的编号。
需要说明的是,在实际应用中,上述所有可选实施方式可以采用结合的方式任意组合,形成本发明的可选实施例,在此不再一一赘述。
对应于上述实施例中的SN码的加密方法,本发明还提供一种SN码的加密装置。如图3所示为本发明一实施例中SN码的加密装置的结构示意图,包括:
长度确定模块31,用于获取待加密SN码,确定所述待加密SN码的长度,其中,所述待加密SN码的各个位对应编号;
预设位确定模块32,用于针对所述待加密SN码的任意当前位,确定所述当前位对应的预设位;
第一加密模块33,用于将所述待加密SN码的长度减去所述当前位的编号,得到的计算值作为所述预设位的值;
第二加密模块34,用于将所述计算值作为序号,从预设的字符串中获取所述计算值对应的位的字符,并将该字符作为所述当前位的值。
在本发明一实施例中,所述待加密SN码为12位,且所述待加密SN码的各个位的编号为十进制。
在本发明一实施例中,所述预设位确定模块32还用于:
当所述当前位为第k位,则所述当前位对应的预设位为13-k位。
在本发明一实施例中,所述第二加密模块34还用于:
对所述预设的字符串的字符的前后位置进行变换,得到变换后的字符串;
将所述计算值作为序号,从所述变换后的字符串中获取所述计算值对应的位的字符。
在本发明一实施例中,所述第二加密模块34还用于:
基于所述当前位的编号,确定变换位数;
根据所述变换位数,对所述预设的字符串的字符的前后位置进行变换。
在本发明一实施例中,所述第二加密模块34还用于:
将所述当前位的编号的平方,加上2倍的所述当前位的编号,再加上数值5,得到的值确定为所述变换位数。
在本发明一实施例中,所述第二加密模块34还用于:
从所述预设的字符串的开始位置确定所述变换位数的子字符串;
将确定的所述子字符串调整到所述预设的字符串的末尾位置处。
在本发明一实施例中,所述预设的字符串是16位三十六进制的一组字符串。
本发明实施例的上述装置:获取待加密SN码,确定待加密SN码的长度,其中,待加密SN码的各个位对应编号;针对待加密SN码的任意当前位,确定当前位对应的预设位;随后,将待加密SN码的长度减去当前位的编号,得到的计算值作为预设位的值;之后,将计算值作为序号,从预设的字符串中获取计算值对应的位的字符,并将该字符作为当前位的值。由此可见,本发明实施例能够对SN码进行加密,实现安全性的目的。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种SN码的加密方法,其特征在于,包括:
获取待加密SN码,确定所述待加密SN码的长度,其中,所述待加密SN码的各个位对应编号;
针对所述待加密SN码的任意当前位,确定所述当前位对应的预设位;
将所述待加密SN码的长度减去所述当前位的编号,得到的计算值作为所述预设位的值;
将所述计算值作为序号,从预设的字符串中获取所述计算值对应的位的字符,并将该字符作为所述当前位的值。
2.根据权利要求1所述的方法,其特征在于,所述待加密SN码为12位,且所述待加密SN码的各个位的编号为十进制。
3.根据权利要求2所述的方法,其特征在于,针对所述待加密SN码的任意当前位,确定所述当前位对应的预设位,包括:
当所述当前位为第k位,则所述当前位对应的预设位为13-k位。
4.根据权利要求1所述的方法,其特征在于,将所述计算值作为序号,从预设的字符串中获取所述计算值对应的位的字符,包括:
对所述预设的字符串的字符的前后位置进行变换,得到变换后的字符串;
将所述计算值作为序号,从所述变换后的字符串中获取所述计算值对应的位的字符。
5.根据权利要求4所述的方法,其特征在于,对所述预设的字符串的字符的前后位置进行变换,包括:
基于所述当前位的编号,确定变换位数;
根据所述变换位数,对所述预设的字符串的字符的前后位置进行变换。
6.根据权利要求5所述的方法,其特征在于,基于所述当前位的编号,确定变换位数,包括:
将所述当前位的编号的平方,加上2倍的所述当前位的编号,再加上数值5,得到的值确定为所述变换位数。
7.根据权利要求5所述的方法,其特征在于,根据所述变换位数,对所述预设的字符串的字符的前后位置进行变换,包括:
从所述预设的字符串的开始位置确定所述变换位数的子字符串;
将确定的所述子字符串调整到所述预设的字符串的末尾位置处。
8.根据权利要求1-7中任一项所述的方法,其特征在于,所述预设的字符串是16位三十六进制的一组字符串。
9.一种SN码的加密装置,其特征在于,包括:
长度确定模块,用于获取待加密SN码,确定所述待加密SN码的长度,其中,所述待加密SN码的各个位对应编号;
预设位确定模块,用于针对所述待加密SN码的任意当前位,确定所述当前位对应的预设位;
第一加密模块,用于将所述待加密SN码的长度减去所述当前位的编号,得到的计算值作为所述预设位的值;
第二加密模块,用于将所述计算值作为序号,从预设的字符串中获取所述计算值对应的位的字符,并将该字符作为所述当前位的值。
10.根据权利要求9所述的装置,其特征在于,所述待加密SN码为12位,且所述待加密SN码的各个位的编号为十进制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610805472.3A CN106326761B (zh) | 2016-09-05 | 2016-09-05 | 一种sn码的加密方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610805472.3A CN106326761B (zh) | 2016-09-05 | 2016-09-05 | 一种sn码的加密方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106326761A true CN106326761A (zh) | 2017-01-11 |
CN106326761B CN106326761B (zh) | 2019-04-30 |
Family
ID=57787492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610805472.3A Expired - Fee Related CN106326761B (zh) | 2016-09-05 | 2016-09-05 | 一种sn码的加密方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106326761B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080092239A1 (en) * | 2006-10-11 | 2008-04-17 | David H. Sitrick | Method and system for secure distribution of selected content to be protected |
CN103825723A (zh) * | 2014-01-24 | 2014-05-28 | 深圳市太和物联信息技术有限公司 | 一种加密方法和装置 |
CN104123482A (zh) * | 2014-07-08 | 2014-10-29 | 攀钢集团攀枝花钢钒有限公司 | 生成机器码和注册码的方法及软件注册和功能限制的方法 |
CN104954362A (zh) * | 2015-04-27 | 2015-09-30 | 深圳市美贝壳科技有限公司 | 序列号的加密和解密方法及其装置 |
-
2016
- 2016-09-05 CN CN201610805472.3A patent/CN106326761B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080092239A1 (en) * | 2006-10-11 | 2008-04-17 | David H. Sitrick | Method and system for secure distribution of selected content to be protected |
CN103825723A (zh) * | 2014-01-24 | 2014-05-28 | 深圳市太和物联信息技术有限公司 | 一种加密方法和装置 |
CN104123482A (zh) * | 2014-07-08 | 2014-10-29 | 攀钢集团攀枝花钢钒有限公司 | 生成机器码和注册码的方法及软件注册和功能限制的方法 |
CN104954362A (zh) * | 2015-04-27 | 2015-09-30 | 深圳市美贝壳科技有限公司 | 序列号的加密和解密方法及其装置 |
Non-Patent Citations (1)
Title |
---|
何定华: ""基于CPU序列号和加密技术的软件注册机"", 《科技导报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN106326761B (zh) | 2019-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3229397B1 (en) | Method for fulfilling a cryptographic request requiring a value of a private key | |
KR101572111B1 (ko) | 랜덤하면서 유일한 코드를 생성하는 전자 장치 및 방법 | |
CN105160210B (zh) | 一种软件授权方法和系统、软件终端及软件管理方 | |
CN106970820A (zh) | 代码存储方法及代码存储装置 | |
CN101953113A (zh) | 对可漫游凭证存储的安全且可用保护 | |
CN106100841B (zh) | 一种基于分子加密技术的数据加密系统及方法 | |
CN110505054B (zh) | 一种基于动态白盒的数据处理方法、装置及设备 | |
CN103227786A (zh) | 一种网站登录信息填入方法及装置 | |
JP6135804B1 (ja) | 情報処理装置、情報処理方法及びプログラム | |
CN105100085B (zh) | 一种对信息进行加密和解密的方法和装置 | |
EP3134994A1 (en) | Method of obfuscating data | |
CN106599702A (zh) | 一种文件加密、解密的方法及装置 | |
CN103902916A (zh) | 一种处理方法以及一种电子设备 | |
CN104281272A (zh) | 密码输入处理方法及装置 | |
CN105825142A (zh) | 用于对移动终端中文档加解密的方法和装置 | |
CN106326761A (zh) | 一种sn码的加密方法及装置 | |
CN104767622B (zh) | 加密方法及装置 | |
KR102132685B1 (ko) | 순서 노출 암호화를 위한 장치 및 방법 | |
Dolmatov et al. | GOST R 34.10-2012: Digital signature algorithm | |
CN105227583A (zh) | 一种密钥加密方法及系统、电子设备 | |
CN103580874B (zh) | 身份认证方法、系统以及密码保护装置 | |
JP2018515812A (ja) | 暗号化された値での計算 | |
Fathurrahmad et al. | Development And Implementation Of The Rijndael Algorithm And Base-64 Advanced Encryption Standard (AES) For Website Data Security | |
KR102045843B1 (ko) | 블록 암호화 처리 방법 및 장치 | |
CN105827411A (zh) | 一种信息处理的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: An encryption method and device of Sn code Effective date of registration: 20210104 Granted publication date: 20190430 Pledgee: Inner Mongolia Huipu Energy Co.,Ltd. Pledgor: TVMINING (BEIJING) MEDIA TECHNOLOGY Co.,Ltd. Registration number: Y2020990001527 |
|
PE01 | Entry into force of the registration of the contract for pledge of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190430 Termination date: 20210905 |
|
CF01 | Termination of patent right due to non-payment of annual fee |