CN107835073B - 多数字位号码的加密、解密方法以及加密、解密服务器 - Google Patents
多数字位号码的加密、解密方法以及加密、解密服务器 Download PDFInfo
- Publication number
- CN107835073B CN107835073B CN201711344638.7A CN201711344638A CN107835073B CN 107835073 B CN107835073 B CN 107835073B CN 201711344638 A CN201711344638 A CN 201711344638A CN 107835073 B CN107835073 B CN 107835073B
- Authority
- CN
- China
- Prior art keywords
- multiple digital
- encrypted
- digital bits
- segment
- encryption
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明涉及一种多数字位号码的加密、解密方法以及加密、解密服务器,该加密方法包括:在接收到预设类型的待加密多数字位号码后,根据预先确定的加密数字位确定规则,确定第一预设位数待加密号码段,以及除所述待加密号码段以外的非加密号码段;使用与该待加密多数字位号码对应的预先定义的加密密码学算法和密钥,对确定的非加密号码段进行运算处理生成运算值;采用预先确定的加密混合运算算法对所述待加密号码段和生成的运算值进行加密混合运算,得到第一预设位数的混合加密号码段;在所述预设类型的待加密多数字位号码中将所述待加密号码段替换为所述混合加密号码段,生成加密后的多数字位号码。本发明提升对多数字位号码保护的安全性。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种多数字位号码的加密、解密方法以及加密、解密服务器。
背景技术
随着传统互联网和移动互联网的不断发展,获取公众隐私信息(例如手机号码、银行账户号码、证件号码等隐私信息)的途径越来越多(例如,可以从快递单上获取收/发件人的手机号码、可以从航空机票上获取乘机人的证件号码、可以从银行各种票据上获取客户的银行账户号码等),给公众的正常生活和工作秩序构成严重的挑战。
针对这种现状,各种涉及公众隐私的政府部门及/公司虽然也在采取特定的措施保护公众隐私信息,但是,目前涉及公众隐私的政府部门及/公司所采用的隐私信息保护方案通常是使用掩码等方法,屏蔽掉部分号码,或者直接使用对称加密或非对称加密算法,对手机号等字段进行加密。或者通过建立数据影射表,查表变换原有号码和加密号码。
现有技术中对手机号码、银行账户号码、证件号码等隐私信息进行保护时的加密方式或算法较为简单,或者保密性仅依赖于映射表的保密性,导致对手机号码、银行账户号码、证件号码等隐私信息进行保护的安全性不强。
发明内容
本发明的目的在于提供一种多数字位号码的加密、解密方法以及加密、解密服务器,旨在提升对多数字位号码保护的安全性。
为实现上述目的,本发明提供一种多数字位号码的加密方法,应用于加密服务器,所述加密方法包括:
在接收到预设类型的待加密多数字位号码后,根据预先确定的加密数字位确定规则,确定第一预设位数待加密号码段,以及除所述待加密号码段以外的非加密号码段;
使用与该待加密多数字位号码对应的预先定义的加密密码学算法和密钥,对确定的非加密号码段进行运算处理生成运算值;
采用预先确定的加密混合运算算法对所述待加密号码段和生成的运算值进行加密混合运算,得到第一预设位数的混合加密号码段;
在所述预设类型的待加密多数字位号码中将所述待加密号码段替换为所述混合加密号码段,生成加密后的多数字位号码。
优选地,在所述预设类型的待加密多数字位号码中将所述待加密号码段替换为所述混合加密号码段,生成加密后的多数字位号码的步骤之后,该方法还包括:
根据预先确定的号码加密标识规则,为所述加密后的多数字位号码生成加密标识;其中,所述预先确定的号码加密标识规则包括:
根据多数字位号码的含义,将生成的加密后的多数字位号码中的一个或多个预设位数的号码变换为与该待加密多数字位号码的类型相对应的加密标识。
优选地,所述预先确定的加密数字位确定规则包括:
将所述待加密多数字位号码的最左侧的第二预设位数号码作为前段号码,将所述待加密多数字位号码的最右侧的第三预设位数号码作为后段号码,将所述前段号码和后段号码作为非加密号码段,其中,所述第二预设位数与第三预设位数的和小于所述待加密多数字位号码的位数;将所述前段号码和后段号码从所述待加密多数字位号码中去除后,剩余的号码段作为待加密号码段。
优选地,所述预先定义的加密密码学算法包括哈希算法和二进制数换算算法,该哈希算法的运算公式为:
Hash=Digest(Nl+Nr+K)
其中,K代表预设的该待加密多数字位号码对应的密钥,Nl代表该待加密多数字位号码最左侧的第二预设位数的号码,Nr代表该待加密多数字位号码最右侧的第三预设位数的号码,Hash代表计算得到的哈希值;
该二进制数换算算法的运算公式为:
Num=CalcNum(Hash)
其中,Num代表将计算得到的二进制的哈希值Hash换算成的十进制的运算值。
优选地,所述预先确定的加密混合运算算法的公式为:
E_Nm=(Nm+Num)mod10n
其中,Nm代表所述待加密号码段,Num代表十进制的运算值,n代表所述待加密号码段的号码位数,E_Nm代表计算得到的混合加密号码段。
此外,为实现上述目的,本发明还提供一种多数字位号码的解密方法,应用于解密服务器,所述解密方法包括:
在收到预设类型的待解密多数字位号码后,根据预先确定的解密数字位确定规则,确定第一预设位数的待解密号码段,以及除所述待解密号码段以外的非解密号码段;
使用与该待解密多数字位号码对应的预先定义的解密密码学算法和密钥,对确定的非解密号码段进行运算处理生成运算值;
采用预先确定的解密混合运算算法对所述待解密号码段和生成的运算值进行解密混合运算,得到第一预设位数的混合解密号码段;
在所述待解密多数字位号码中将所述待解密号码段替换为所述混合解密号码段,生成解密后的多数字位号码。
优选地,所述预先确定的解密数字位确定规则包括:
将所述待解密多数字位号码的最左侧的第二预设位数号码作为前段号码,将所述待解密多数字位号码的最右侧的第三预设位数号码作为后段号码,将所述前段号码和后段号码作为非解密号码段,其中,所述第二预设位数与第三预设位数的和小于所述待解密多数字位号码的位数;将所述前段号码和后段号码从所述待解密多数字位号码中去除后,剩余的号码段作为待解密号码段。
优选地,所述预先定义的解密密码学算法包括哈希算法和二进制数换算算法,该哈希算法的运算公式为:
Hash=Digest(Nl+Nr+K)
其中,K代表预设的该待解密多数字位号码对应的密钥,Nl代表该待解密多数字位号码最左侧的第二预设位数的号码,Nr代表该待解密多数字位号码最右侧的第三预设位数的号码,Hash代表计算得到的哈希值;
该二进制数换算算法的运算公式为:
Num=CalcNum(Hash)
其中,Num代表将计算得到的二进制的哈希值Hash换算成的十进制的运算值。
优选地,所述预先确定的解密混合运算算法的公式可表示为:
Nm=(E_Nm-Num)mod10n
其中,E_Nm代表所述待解密号码段,Num代表十进制的运算值,n代表所述待解密号码段的号码位数,Nm代表计算得到的混合解密号码段。
此外,为实现上述目的,本发明还提供一种加密服务器,所述加密服务器包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的多数字位号码的加密***,所述多数字位号码的加密***被所述处理器执行时实现如下步骤:
在接收到预设类型的待加密多数字位号码后,根据预先确定的加密数字位确定规则,确定第一预设位数待加密号码段,以及除所述待加密号码段以外的非加密号码段;
使用与该待加密多数字位号码对应的预先定义的加密密码学算法和密钥,对确定的非加密号码段进行运算处理生成运算值;
采用预先确定的加密混合运算算法对所述待加密号码段和生成的运算值进行加密混合运算,得到第一预设位数的混合加密号码段;
在所述预设类型的待加密多数字位号码中将所述待加密号码段替换为所述混合加密号码段,生成加密后的多数字位号码。
优选地,所述多数字位号码的加密***被所述处理器执行时,还实现如下步骤:
根据预先确定的号码加密标识规则,为所述加密后的多数字位号码生成加密标识;其中,所述预先确定的号码加密标识规则包括:
根据多数字位号码的含义,将生成的加密后的多数字位号码中的一个或多个预设位数的号码变换为与该待加密多数字位号码的类型相对应的加密标识。
优选地,所述预先确定的加密数字位确定规则包括:
将所述待加密多数字位号码的最左侧的第二预设位数号码作为前段号码,将所述待加密多数字位号码的最右侧的第三预设位数号码作为后段号码,将所述前段号码和后段号码作为非加密号码段,其中,所述第二预设位数与第三预设位数的和小于所述待加密多数字位号码的位数;将所述前段号码和后段号码从所述待加密多数字位号码中去除后,剩余的号码段作为待加密号码段。
优选地,所述预先定义的加密密码学算法包括哈希算法和二进制数换算算法,该哈希算法的运算公式为:
Hash=Digest(Nl+Nr+K)
其中,K代表预设的该待加密多数字位号码对应的密钥,Nl代表该待加密多数字位号码最左侧的第二预设位数的号码,Nr代表该待加密多数字位号码最右侧的第三预设位数的号码,Hash代表计算得到的哈希值;
该二进制数换算算法的运算公式为:
Num=CalcNum(Hash)
其中,Num代表将计算得到的二进制的哈希值Hash换算成的十进制的运算值。
优选地,所述预先确定的加密混合运算算法的公式为:
E_Nm=(Nm+Num)mod10n
其中,Nm代表所述待加密号码段,Num代表十进制的运算值,n代表所述待加密号码段的号码位数,E_Nm代表计算得到的混合加密号码段。
此外,为实现上述目的,本发明还提供一种解密服务器,所述解密服务器包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的多数字位号码的解密***,所述多数字位号码的解密***被所述处理器执行时实现如下步骤:
在收到预设类型的待解密多数字位号码后,根据预先确定的解密数字位确定规则,确定第一预设位数的待解密号码段,以及除所述待解密号码段以外的非解密号码段;
使用与该待解密多数字位号码对应的预先定义的解密密码学算法和密钥,对确定的非解密号码段进行运算处理生成运算值;
采用预先确定的解密混合运算算法对所述待解密号码段和生成的运算值进行解密混合运算,得到第一预设位数的混合解密号码段;
在所述待解密多数字位号码中将所述待解密号码段替换为所述混合解密号码段,生成解密后的多数字位号码。
优选地,所述预先确定的解密数字位确定规则包括:
将所述待解密多数字位号码的最左侧的第二预设位数号码作为前段号码,将所述待解密多数字位号码的最右侧的第三预设位数号码作为后段号码,将所述前段号码和后段号码作为非解密号码段,其中,所述第二预设位数与第三预设位数的和小于所述待解密多数字位号码的位数;将所述前段号码和后段号码从所述待解密多数字位号码中去除后,剩余的号码段作为待解密号码段。
优选地,所述预先定义的解密密码学算法包括哈希算法和二进制数换算算法,该哈希算法的运算公式为:
Hash=Digest(Nl+Nr+K)
其中,K代表预设的该待解密多数字位号码对应的密钥,Nl代表该待解密多数字位号码最左侧的第二预设位数的号码,Nr代表该待解密多数字位号码最右侧的第三预设位数的号码,Hash代表计算得到的哈希值;
该二进制数换算算法的运算公式为:
Num=CalcNum(Hash)
其中,Num代表将计算得到的二进制的哈希值Hash换算成的十进制的运算值。
优选地,所述预先确定的解密混合运算算法的公式可表示为:
Nm=(E_Nm-Num)mod10n
其中,E_Nm代表所述待解密号码段,Num代表十进制的运算值,n代表所述待解密号码段的号码位数,Nm代表计算得到的混合解密号码段。
本发明提出的多数字位号码的加密、解密方法以及加密、解密服务器,通过加密数字位确定规则确定出待加密多数字位号码中的待加密号码段及非加密号码段,使用预先定义的加密密码学算法和密钥,对确定的非加密号码段进行运算处理生成运算值,并采用预先确定的加密混合运算算法对所述待加密号码段和生成的运算值进行加密混合运算,得到混合加密号码段,将待加密多数字位号码中的待加密号码段替换为所述混合加密号码段,即可生成加密后的多数字位号码。由于是将待加密多数字位号码中的号码区分为待加密号码段及非加密号码段,并分别采用不同的加密算法对待加密号码段及非加密号码段进行加密运算,且将非加密号码段的运算结果加入到待加密号码段的加密运算过程中,提高了对待加密多数字位号码的加密运算复杂性,其保密性也不依赖于映射表的保密性,能有效提升对多数字位号码保护的安全性。
附图说明
图1为本发明加密服务器1一可选的硬件架构的示意图;
图2为本发明多数字位号码的加密方法一实施例的流程示意图;
图3为本发明解密服务器100一可选的硬件架构的示意图;
图4为本发明多数字位号码的解密方法一实施例的流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
参阅图1所示,是加密服务器1一可选的硬件架构的示意图。
所述加密服务器1可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器等计算设备,该加密服务器1可以是独立的服务器,也可以是多个服务器所组成的服务器集群。
本实施例中,所述加密服务器1可包括,但不仅限于,可通过***总线相互通信连接的存储器11、处理器12、网络接口13。
所述加密服务器1通过网络接口13连接网络(图1未标出),获取资讯。所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯***(Global System ofMobile communication,GSM)、宽带码分多址(Wideband Code Division MultipleAccess,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi、通话网络等无线或有线网络。
需要指出的是,图1仅示出了具有组件11-13的加密服务器1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器11可以是所述加密服务器1的内部存储单元,例如该加密服务器1的硬盘或内存。在另一些实施例中,所述存储器11也可以是所述加密服务器1的外部存储设备,例如该加密服务器1配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器11还可以既包括所述加密服务器1的内部存储单元也包括其外部存储设备。本实施例中,所述存储器11通常用于存储安装于所述加密服务器1的操作***和各类应用软件,例如所述多数字位号码的加密***10的程序代码等。此外,所述存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器12在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述加密服务器1的总体操作,例如执行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行所述多数字位号码的加密***10等。
所述网络接口13可包括无线网络接口或有线网络接口,该网络接口13通常用于在所述加密服务器1与其他电子设备之间建立通信连接。
所述多数字位号码的加密***10包括至少一个存储在所述存储器11中的计算机可读指令,该至少一个计算机可读指令可被所述处理器12执行,以实现本申请各实施例。
其中,上述多数字位号码的加密***10被所述处理器12执行时实现如下步骤:
S1、在接收到预设类型的待加密多数字位号码(例如,手机号码“13424174205”)后,根据预先确定的加密数字位确定规则,确定第一预设位数待加密号码段(例如,手机号码的中间4位“2417”,记为Nm),及除所述待加密号码段以外的非加密号码段(例如,手机号码最左侧3位数字Nl和最右侧4位数字Nr)。
S2、使用与该待加密多数字位号码对应的预先定义的加密密码学算法和密钥,对确定的非加密号码段进行运算处理生成运算值。例如,所述预先定义的加密密码学算法包括哈希算法和二进制数换算算法,该哈希算法的运算公式可以表示为“Hash=Digest(Nl+Nr+K)”,K代表密钥,Nl代表该待加密多数字位号码最左侧的第二预设位数的号码,Nr代表待加密多数字位号码最右侧的第三预设位数的号码,Hash代表哈希值;该二进制数换算算法为将二进制的Hash值换算成十进制的运算值的算法,该二进制数换算算法的运算公式可以表示为“Num=CalcNum(Hash)”,例如,最后得到的十进制的数字9作为运算值。
S3、采用预先确定的加密混合运算算法对所述待加密号码段和生成的运算值进行加密混合运算,得到第一预设位数的混合加密号码段。例如,该加密混合运算算法可以为第一预设位数待加密号码段加上S2步所得的运算值,对所得的和再作取模运算即mod运算。该混合运算算法的公式可以表示为E_Nm=(Nm+Num)mod10n,Nm代表所述待加密号码段,Num代表所述运算值,n等于所述待加密号码段的号码位数,例如,E_Nm=(2417+9)mod104=2426。取模运算定义如下:当a=bq+r,q是整数,并使q达到最大,此时a mod b等于r,r为非负数。
S4、在所述预设类型的待加密多数字位号码中将所述待加密号码段替换为所述混合加密号码段,生成加密后的多数字位号码。例如,Nl+E_Nm+Nr,Nl代表该待加密多数字位号码最左侧的第二预设位数的号码,Nr代表待加密多数字位号码最右侧的第三预设位数的号码,E_Nm代表所述混合加密号码段。
与现有技术相比,本实施例通过加密数字位确定规则确定出待加密多数字位号码中的待加密号码段及非加密号码段,使用预先定义的加密密码学算法和密钥,对确定的非加密号码段进行运算处理生成运算值,并采用预先确定的加密混合运算算法对所述待加密号码段和生成的运算值进行加密混合运算,得到混合加密号码段,将待加密多数字位号码中的待加密号码段替换为所述混合加密号码段,即可生成加密后的多数字位号码。由于是将待加密多数字位号码中的号码区分为待加密号码段及非加密号码段,并分别采用不同的加密算法对待加密号码段及非加密号码段进行加密运算,且将非加密号码段的运算结果加入到待加密号码段的加密运算过程中,提高了对待加密多数字位号码的加密运算复杂性,其保密性也不依赖于映射表的保密性,能有效提升对多数字位号码保护的安全性。此外,本实施例中不会破坏多数字位号码的可用性,数字序列本身保持完整;本实施例中对多数字位号码加密的实施也不需要对应用***、数据库或业务流程做出很大的改动,实施难度较小,容易落地实现。
在一可选的实施例中,在上述图1的实施例的基础上,所述多数字位号码的加密***10被所述处理器12执行时,还包括如下步骤:
根据预先确定的号码加密标识规则,为所述加密后的多数字位号码生成加密标识。其中,所述预先确定的号码加密标识规则包括:
根据多数字位号码的含义,将生成的加密后的多数字位号码的某几位预设位数的号码变换为与该待加密多数字位号码的类型对应的加密标识。例如,中国大陆手机号的第一位数字一般为1,可将加密后的手机号码的最左侧1位号码“1”变换为加密标识“9”;或者,中国大陆居民身份证包含年份,可将加密后的身份证号码的年份位最左侧2位号码变换为加密标识,“19”变换为“89”,“20”变换为“90”。
在一可选的实施例中,所述多数字位号码的加密***10被所述处理器12执行时,所述预先确定的加密数字位确定规则包括:
将所述待加密多数字位号码(例如,手机号码“13424174205”)的最左侧的第二预设位数号码(例如,最左侧的3位数字)作为前段号码Nl,将所述待加密多数字位号码的最右侧的第三预设位数号码(例如,最右侧的4位数字)作为后段号码Nr,所述前段号码Nl和后段号码Nr即为非加密号码段,其中,所述第二预设位数与第三预设位数的和小于所述多数字位号码的位数;将所述前段号码和后段号码从所述待加密多数字位号码中去除后,剩余的号码段Nm即为所述待加密号码段(例如,“2417”)。
在一可选的实施例中,所述多数字位号码的加密***10被所述处理器12执行时,所述预先定义的加密密码学算法包括哈希算法和二进制数换算算法,其中:
该哈希算法的运算公式可以表示为Hash=Digest(Nl+Nr+K),K代表该待加密多数字位号码对应的密钥(针对所有该预设类型的待加密多数字位号码,对应的密钥可以是统一的),Nl代表该待加密多数字位号码最左侧的第二预设位数的号码,Nr代表待加密多数字位号码最右侧的第三预设位数的号码,Hash代表哈希值。
该二进制数换算算法为将二进制的Hash值换算成十进制的运算值的算法,该二进制数换算算法的运算公式可以表示为Num=CalcNum(Hash),Hash代表前述哈希算法计算出的哈希值。
进一步地,该加密混合运算算法可以为第一预设位数待加密号码段加上计算所得的十进制的运算值,对所得的和再作取模运算,该加密混合运算算法的公式可表示为:
E_Nm=(Nm+Num)mod10n
其中,Nm代表所述待加密号码段,Num代表所述运算值,n等于所述待加密号码段的号码位数,E_Nm代表计算得到的混合加密号码段。
具体地,本实施例中使用预先定义的密码学算法和密钥K,对Nl、Nr进行处理,比如可采用hash算法作如下处理:Hash=Digest(Nl+Nr+K),该摘要算法(Digest)可取MD5、SHA-1、SHA-2等算法。将生成的哈希值Hash,采用合适的算法,计算出十进制数字,可表示为Num=CalcNum(Hash),该CalcNum算法,作用为对二进制Hash值进行计算,得出一个十进制的数,比如可将二进制Hash值从低位到高位,按字节进行异或操作,得出的结果换算为十进制表示。如,Hash按字节表示为Byte_n,…B_3,B_2,B_1,B_0,则Num=CalcNum(Hash)=B_0⊕B_1⊕B_2⊕B_3⊕…⊕Byte_n(⊕为异或操作)。
如图2所示,图2为本发明多数字位号码的加密方法一实施例的流程示意图,该多数字位号码的加密方法包括以下步骤:
S10、在接收到预设类型的待加密多数字位号码(例如,手机号码“13424174205”)后,根据预先确定的加密数字位确定规则,确定第一预设位数待加密号码段(例如,手机号码的中间4位“2417”,记为Nm),及除所述待加密号码段以外的非加密号码段(例如,手机号码最左侧3位数字Nl和最右侧4位数字Nr)。
S20、使用与该待加密多数字位号码对应的预先定义的加密密码学算法和密钥,对确定的非加密号码段进行运算处理生成运算值。例如,所述预先定义的加密密码学算法包括哈希算法和二进制数换算算法,该哈希算法的运算公式可以表示为“Hash=Digest(Nl+Nr+K)”,K代表密钥,Nl代表该待加密多数字位号码最左侧的第二预设位数的号码,Nr代表待加密多数字位号码最右侧的第三预设位数的号码,Hash代表哈希值;该二进制数换算算法为将二进制的Hash值换算成十进制的运算值的算法,该二进制数换算算法的运算公式可以表示为“Num=CalcNum(Hash)”,例如,最后得到的十进制的数字9作为运算值。
S30、采用预先确定的加密混合运算算法对所述待加密号码段和生成的运算值进行加密混合运算,得到第一预设位数的混合加密号码段。例如,该加密混合运算算法可以为第一预设位数待加密号码段加上S2步所得的运算值,对所得的和再作取模运算即mod运算。该混合运算算法的公式可以表示为E_Nm=(Nm+Num)mod10n,Nm代表所述待加密号码段,Num代表所述运算值,n等于所述待加密号码段的号码位数,例如,E_Nm=(2417+9)mod104=2426。取模运算定义如下:当a=bq+r,q是整数,并使q达到最大,此时a mod b等于r,r为非负数。
S40、在所述预设类型的待加密多数字位号码中将所述待加密号码段替换为所述混合加密号码段,生成加密后的多数字位号码。例如,Nl+E_Nm+Nr,Nl代表该待加密多数字位号码最左侧的第二预设位数的号码,Nr代表待加密多数字位号码最右侧的第三预设位数的号码,E_Nm代表所述混合加密号码段。
与现有技术相比,本实施例通过加密数字位确定规则确定出待加密多数字位号码中的待加密号码段及非加密号码段,使用预先定义的加密密码学算法和密钥,对确定的非加密号码段进行运算处理生成运算值,并采用预先确定的加密混合运算算法对所述待加密号码段和生成的运算值进行加密混合运算,得到混合加密号码段,将待加密多数字位号码中的待加密号码段替换为所述混合加密号码段,即可生成加密后的多数字位号码。由于是将待加密多数字位号码中的号码区分为待加密号码段及非加密号码段,并分别采用不同的加密算法对待加密号码段及非加密号码段进行加密运算,且将非加密号码段的运算结果加入到待加密号码段的加密运算过程中,提高了对待加密多数字位号码的加密运算复杂性,其保密性也不依赖于映射表的保密性,能有效提升对多数字位号码保护的安全性。此外,本实施例中不会破坏多数字位号码的可用性,数字序列本身保持完整;本实施例中对多数字位号码加密的实施也不需要对应用***、数据库或业务流程做出很大的改动,实施难度较小,容易落地实现。
在一可选的实施例中,该方法还包括如下步骤:
根据预先确定的号码加密标识规则,为所述加密后的多数字位号码生成加密标识。其中,所述预先确定的号码加密标识规则包括:
根据多数字位号码的含义,将生成的加密后的多数字位号码的某几位预设位数的号码变换为与该待加密多数字位号码的类型对应的加密标识。例如,中国大陆手机号的第一位数字一般为1,可将加密后的手机号码的最左侧1位号码“1”变换为加密标识“9”;或者,中国大陆居民身份证包含年份,可将加密后的身份证号码的年份位最左侧2位号码变换为加密标识,“19”变换为“89”,“20”变换为“90”。
这样,后续在收到一个预设类型的多数字位号码后,可分析收到的多数字位号码的预设位置处(例如,该预设位置可以是该多数字位号码的最左侧的1位号码处)是否含有与该多数字位号码的号码类型对应的加密标识;若含有,则确定该预设类型的多数字位号码为待解密多数字位号码;若不含有,则确定该预设类型的多数字位号码为待加密多数字位号码。
在一可选的实施例中,所述预先确定的加密数字位确定规则包括:
将所述待加密多数字位号码(例如,手机号码“13424174205”)的最左侧的第二预设位数号码(例如,最左侧的3位数字)作为前段号码Nl,将所述待加密多数字位号码的最右侧的第三预设位数号码(例如,最右侧的4位数字)作为后段号码Nr,所述前段号码Nl和后段号码Nr即为非加密号码段,其中,所述第二预设位数与第三预设位数的和小于所述多数字位号码的位数;将所述前段号码和后段号码从所述待加密多数字位号码中去除后,剩余的号码段Nm即为所述待加密号码段(例如,“2417”)。
在一可选的实施例中,所述预先定义的加密密码学算法包括哈希算法和二进制数换算算法,其中:
该哈希算法的运算公式可以表示为Hash=Digest(Nl+Nr+K),K代表该待加密多数字位号码对应的密钥(针对所有该预设类型的待加密多数字位号码,对应的密钥可以是统一的),Nl代表该待加密多数字位号码最左侧的第二预设位数的号码,Nr代表待加密多数字位号码最右侧的第三预设位数的号码,Hash代表哈希值;
该二进制数换算算法为将二进制的Hash值换算成十进制的运算值的算法,该二进制数换算算法的运算公式可以表示为Num=CalcNum(Hash),Hash代表前述哈希算法计算出的哈希值。
进一步地,该加密混合运算算法可以为第一预设位数待加密号码段加上计算所得的十进制的运算值,对所得的和再作取模运算,该加密混合运算算法的公式可表示为:
E_Nm=(Nm+Num)mod10n
其中,Nm代表所述待加密号码段,Num代表所述运算值,n等于所述待加密号码段的号码位数,E_Nm代表计算得到的混合加密号码段。
具体地,本实施例中使用预先定义的密码学算法和密钥K,对Nl、Nr进行处理,比如可采用hash算法作如下处理:Hash=Digest(Nl+Nr+K),该摘要算法(Digest)可取MD5、SHA-1、SHA-2等算法。将生成的哈希值Hash,采用合适的算法,计算出十进制数字,可表示为Num=CalcNum(Hash),该CalcNum算法,作用为对二进制Hash值进行计算,得出一个十进制的数,比如可将二进制Hash值从低位到高位,按字节进行异或操作,得出的结果换算为十进制表示。如,Hash按字节表示为Byte_n,…B_3,B_2,B_1,B_0,则Num=CalcNum(Hash)=B_0⊕B_1⊕B_2⊕B_3⊕…⊕Byte_n(⊕为异或操作)。
此外,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多数字位号码的加密***,所述多数字位号码的加密***可被至少一个处理器执行,以使所述至少一个处理器执行如上述实施例中的多数字位号码的加密方法的步骤,该多数字位号码的加密方法的步骤S10、S20、S30等具体实施过程如上文所述,在此不再赘述。
参阅图3所示,是解密服务器100一可选的硬件架构的示意图。
所述解密服务器100可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器等计算设备,该解密服务器100可以是独立的服务器,也可以是多个服务器所组成的服务器集群。
本实施例中,所述解密服务器100可包括,但不仅限于,可通过***总线相互通信连接的存储器110、处理器120、网络接口130。
所述解密服务器100通过网络接口130连接网络(图1未标出),获取资讯。所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯***(Global System ofMobile communication,GSM)、宽带码分多址(Wideband Code Division MultipleAccess,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi、通话网络等无线或有线网络。
需要指出的是,图3仅示出了具有组件110-130的解密服务器100,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
其中,所述存储器110至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器110可以是所述解密服务器100的内部存储单元,例如该解密服务器100的硬盘或内存。在另一些实施例中,所述存储器110也可以是所述解密服务器100的外部存储设备,例如该解密服务器100配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器110还可以既包括所述解密服务器100的内部存储单元也包括其外部存储设备。本实施例中,所述存储器110通常用于存储安装于所述解密服务器100的操作***和各类应用软件,例如所述多数字位号码的解密***20的程序代码等。此外,所述存储器110还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器120在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器120通常用于控制所述解密服务器100的总体操作,例如执行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器120用于运行所述存储器110中存储的程序代码或者处理数据,例如运行所述多数字位号码的解密***20等。
所述网络接口130可包括无线网络接口或有线网络接口,该网络接口130通常用于在所述解密服务器100与其他电子设备之间建立通信连接。
所述多数字位号码的解密***20包括至少一个存储在所述存储器110中的计算机可读指令,该至少一个计算机可读指令可被所述处理器120执行,以实现本申请各实施例。
其中,上述多数字位号码的解密***20被所述处理器120执行时实现如下步骤:
B1、在收到预设类型的待解密多数字位号码(例如,待解密的手机号码“93424264205”)后,根据预先确定的解密数字位确定规则,确定第一预设位数的待解密号码段(例如,待解密手机号码的中间4位“2426”,记为E_Nm),及除所述待解密号码段以外的非解密号码段(例如,待解密手机号码最左侧3位数字Nl和最右侧4位数字Nr。若非解密号码段设置了加密标志位,则计算时先恢复加密标志位,再取非解密号码段)。
B2、使用与该待解密多数字位号码对应的预先定义的解密密码学算法和密钥{例如,所述预先定义的密码学算法包括哈希算法和二进制数换算算法,该哈希算法的运算公式可以表示为“Hash=Digest(Nl+Nr+K)”,K代表密钥,Nl代表该待解密多数字位号码最左侧的第二预设位数的号码,Nr代表待解密多数字位号码最右侧的第三预设位数的号码,Hash代表哈希值;该二进制数换算算法为将二进制的Hash值换算成十进制的运算值的算法,该二进制数换算算法的运算公式可以表示为“Num=CalcNum(Hash)”},对确定的非解密号码段进行运算处理生成运算值(例如,十进制的数字9)。
B3、采用预先确定的解密混合运算算法{例如,该解密混合运算算法可以为第一预设位数待解密号码段减去B2步所得的运算值,对所得的差再作取模运算,“即mod运算”。该混合运算算法的公式可以表示为Nm=(E_Nm-Num)mod10n,E_Nm代表所述待解密号码段,Num代表所述运算值,n等于所述待解密号码段的号码位数;取模运算定义如下:当a=bq+r,q是整数,并使q达到最大,此时a mod b等于r,r为非负数}对所述待解密号码段和生成的运算值进行解密混合运算,得到第一预设位数的混合解密号码段Nm{例如,(2426-9)mod104=2417}。
B4、在所述待解密多数字位号码中将所述待解密号码段替换为所述混合解密号码段,生成解密后的多数字位号码{例如,“13424174205”}。
在一可选的实施例中,所述多数字位号码的解密***20被所述处理器120执行时,所述预先确定的解密数字位确定规则包括:
将所述待解密多数字位号码(例如,手机号码“13424264205”)的最左侧的第二预设位数号码(例如,最左侧的3位数字)作为前段号码Nl,将所述待解密多数字位号码的最右侧的第三预设位数号码(例如,最右侧的4位数字)作为后段号码Nr,所述前段号码Nl和后段号码Nr即为非解密号码段,其中,所述第二预设位数与第三预设位数的和小于所述多数字位号码的位数;
将所述前段号码和后段号码从所述待解密多数字位号码中去除后,剩余的号码段E_Nm即为所述待解密号码段(例如,“2426”)。
在一可选的实施例中,所述多数字位号码的解密***20被所述处理器120执行时,所述预先定义的解密密码学算法包括哈希算法和二进制数换算算法,其中:
该哈希算法的运算公式可表示为Hash=Digest(Nl+Nr+K),K代表该待解密多数字位号码对应的密钥(针对所有该预设类型的待解密多数字位号码,对应的密钥可以是统一的),Nl代表该待解密多数字位号码最左侧的第二预设位数的号码,Nr代表待解密多数字位号码最右侧的第三预设位数的号码,Hash代表哈希值;
该二进制数换算算法为将二进制的Hash值换算成十进制的运算值的算法,该二进制数换算算法的运算公式可以表示为Num=CalcNum(Hash),Hash代表该哈希算法计算出的哈希值。
进一步地,该解密混合运算算法可以为第一预设位数待解密号码段减去计算所得的十进制的运算值,对所得的差再作取模运算,该解密混合运算算法的公式可表示为:
Nm=(E_Nm-Num)mod10n
其中,E_Nm代表所述待解密号码段,Num代表所述运算值,n等于所述待解密号码段的号码位数,Nm代表计算得到的混合解密号码段。
具体地,本实施例中使用预先定义的密码学算法和密钥K,对Nl、Nr进行处理,比如可采用hash算法作如下处理:Hash=Digest(Nl+Nr+K),该摘要算法(Digest)可取MD5、SHA-1、SHA-2等算法。将生成的哈希值Hash,采用合适的算法,计算出十进制数字,可表示为Num=CalcNum(Hash),该CalcNum算法,作用为对二进制Hash值进行计算,得出一个十进制的数,比如可将二进制Hash值从低位到高位,按字节进行异或操作,得出的结果换算为十进制表示。如,Hash按字节表示为Byte_n,…B_3,B_2,B_1,B_0,则Num=CalcNum(Hash)=B_0⊕B_1⊕B_2⊕B_3⊕…⊕Byte_n(⊕为异或操作)。
如图4所示,图4为本发明多数字位号码的解密方法一实施例的流程示意图,该多数字位号码的解密方法包括以下步骤:
B10、在收到预设类型的待解密多数字位号码(例如,待解密的手机号码“93424264205”)后,根据预先确定的解密数字位确定规则,确定第一预设位数的待解密号码段(例如,待解密手机号码的中间4位“2426”,记为E_Nm),及除所述待解密号码段以外的非解密号码段(例如,待解密手机号码最左侧3位数字Nl和最右侧4位数字Nr。若非解密号码段设置了加密标志位,则计算时先恢复加密标志位,再取非解密号码段)。
B20、使用与该待解密多数字位号码对应的预先定义的解密密码学算法和密钥{例如,所述预先定义的密码学算法包括哈希算法和二进制数换算算法,该哈希算法的运算公式可以表示为“Hash=Digest(Nl+Nr+K)”,K代表密钥,Nl代表该待解密多数字位号码最左侧的第二预设位数的号码,Nr代表待解密多数字位号码最右侧的第三预设位数的号码,Hash代表哈希值;该二进制数换算算法为将二进制的Hash值换算成十进制的运算值的算法,该二进制数换算算法的运算公式可以表示为“Num=CalcNum(Hash)”},对确定的非解密号码段进行运算处理生成运算值(例如,十进制的数字9)。
B30、采用预先确定的解密混合运算算法{例如,该解密混合运算算法可以为第一预设位数待解密号码段减去B2步所得的运算值,对所得的差再作取模运算,“即mod运算”。该混合运算算法的公式可以表示为Nm=(E_Nm-Num)mod10n,E_Nm代表所述待解密号码段,Num代表所述运算值,n等于所述待解密号码段的号码位数;取模运算定义如下:当a=bq+r,q是整数,并使q达到最大,此时a mod b等于r,r为非负数}对所述待解密号码段和生成的运算值进行解密混合运算,得到第一预设位数的混合解密号码段Nm{例如,(2426-9)mod104=2417}。
B40、在所述待解密多数字位号码中将所述待解密号码段替换为所述混合解密号码段,生成解密后的多数字位号码{例如,“13424174205”}。
在一可选的实施例中,所述预先确定的解密数字位确定规则包括:
将所述待解密多数字位号码(例如,手机号码“13424264205”)的最左侧的第二预设位数号码(例如,最左侧的3位数字)作为前段号码Nl,将所述待解密多数字位号码的最右侧的第三预设位数号码(例如,最右侧的4位数字)作为后段号码Nr,所述前段号码Nl和后段号码Nr即为非解密号码段,其中,所述第二预设位数与第三预设位数的和小于所述多数字位号码的位数;
将所述前段号码和后段号码从所述待解密多数字位号码中去除后,剩余的号码段E_Nm即为所述待解密号码段(例如,“2426”)。
在一可选的实施例中,所述预先定义的解密密码学算法包括哈希算法和二进制数换算算法,其中:
该哈希算法的运算公式可表示为Hash=Digest(Nl+Nr+K),K代表该待解密多数字位号码对应的密钥(针对所有该预设类型的待解密多数字位号码,对应的密钥可以是统一的),Nl代表该待解密多数字位号码最左侧的第二预设位数的号码,Nr代表待解密多数字位号码最右侧的第三预设位数的号码,Hash代表哈希值;
该二进制数换算算法为将二进制的Hash值换算成十进制的运算值的算法,该二进制数换算算法的运算公式可以表示为Num=CalcNum(Hash),Hash代表该哈希算法计算出的哈希值。
进一步地,该解密混合运算算法可以为第一预设位数待解密号码段减去计算所得的十进制的运算值,对所得的差再作取模运算,该解密混合运算算法的公式可表示为:
Nm=(E_Nm-Num)mod10n
其中,E_Nm代表所述待解密号码段,Num代表所述运算值,n等于所述待解密号码段的号码位数,Nm代表计算得到的混合解密号码段。
具体地,本实施例中使用预先定义的密码学算法和密钥K,对Nl、Nr进行处理,比如可采用hash算法作如下处理:Hash=Digest(Nl+Nr+K),该摘要算法(Digest)可取MD5、SHA-1、SHA-2等算法。将生成的哈希值Hash,采用合适的算法,计算出十进制数字,可表示为Num=CalcNum(Hash),该CalcNum算法,作用为对二进制Hash值进行计算,得出一个十进制的数,比如可将二进制Hash值从低位到高位,按字节进行异或操作,得出的结果换算为十进制表示。如,Hash按字节表示为Byte_n,…B_3,B_2,B_1,B_0,则Num=CalcNum(Hash)=B_0⊕B_1⊕B_2⊕B_3⊕…⊕Byte_n(⊕为异或操作)。
此外,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多数字位号码的解密***,所述多数字位号码的解密***可被至少一个处理器执行,以使所述至少一个处理器执行如上述实施例中的多数字位号码的解密方法的步骤,该多数字位号码的解密方法的步骤B10、B20、B30等具体实施过程如上文所述,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本领域技术人员不脱离本发明的范围和实质,可以有多种变型方案实现本发明,比如作为一个实施例的特征可用于另一实施例而得到又一实施例。凡在运用本发明的技术构思之内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。
Claims (18)
1.一种多数字位号码的加密方法,应用于加密服务器,其特征在于,所述加密方法包括:
在接收到预设类型的待加密多数字位号码后,根据预先确定的加密数字位确定规则,确定第一预设位数待加密号码段,以及除所述待加密号码段以外的非加密号码段;
使用与该待加密多数字位号码对应的预先定义的加密密码学算法和密钥,对确定的非加密号码段进行运算处理生成运算值;
采用预先确定的加密混合运算算法对所述待加密号码段和生成的运算值进行加密混合运算,得到第一预设位数的混合加密号码段;
在所述预设类型的待加密多数字位号码中将所述待加密号码段替换为所述混合加密号码段,生成加密后的多数字位号码。
2.如权利要求1所述的多数字位号码的加密方法,其特征在于,在所述预设类型的待加密多数字位号码中将所述待加密号码段替换为所述混合加密号码段,生成加密后的多数字位号码的步骤之后,该方法还包括:
根据预先确定的号码加密标识规则,为所述加密后的多数字位号码生成加密标识;其中,所述预先确定的号码加密标识规则包括:
根据多数字位号码的含义,将生成的加密后的多数字位号码中的一个或多个预设位数的号码变换为与该待加密多数字位号码的类型相对应的加密标识。
3.如权利要求1所述的多数字位号码的加密方法,其特征在于,所述预先确定的加密数字位确定规则包括:
将所述待加密多数字位号码的最左侧的第二预设位数号码作为前段号码,将所述待加密多数字位号码的最右侧的第三预设位数号码作为后段号码,将所述前段号码和后段号码作为非加密号码段,其中,所述第二预设位数与第三预设位数的和小于所述待加密多数字位号码的位数;将所述前段号码和后段号码从所述待加密多数字位号码中去除后,剩余的号码段作为待加密号码段。
4.如权利要求1-3中任一项所述的多数字位号码的加密方法,其特征在于,所述预先定义的加密密码学算法包括哈希算法和二进制数换算算法,该哈希算法的运算公式为:
Hash=Digest(Nl+Nr+K)
其中,K代表预设的该待加密多数字位号码对应的密钥,Nl代表该待加密多数字位号码最左侧的第二预设位数的号码,Nr代表该待加密多数字位号码最右侧的第三预设位数的号码,Hash代表计算得到的哈希值;
该二进制数换算算法的运算公式为:
Num=CalcNum(Hash)
其中,Num代表将计算得到的二进制的哈希值Hash换算成的十进制的运算值。
5.如权利要求4所述的多数字位号码的加密方法,其特征在于,所述预先确定的加密混合运算算法的公式为:
E_Nm=(Nm+Num)mod10n
其中,Nm代表所述待加密号码段,Num代表十进制的运算值,n代表所述待加密号码段的号码位数,E_Nm代表计算得到的混合加密号码段。
6.一种多数字位号码的解密方法,应用于解密服务器,其特征在于,所述解密方法包括:
在收到预设类型的待解密多数字位号码后,根据预先确定的解密数字位确定规则,确定第一预设位数的待解密号码段,以及除所述待解密号码段以外的非解密号码段;
使用与该待解密多数字位号码对应的预先定义的解密密码学算法和密钥,对确定的非解密号码段进行运算处理生成运算值;
采用预先确定的解密混合运算算法对所述待解密号码段和生成的运算值进行解密混合运算,得到第一预设位数的混合解密号码段;
在所述待解密多数字位号码中将所述待解密号码段替换为所述混合解密号码段,生成解密后的多数字位号码。
7.如权利要求6所述的多数字位号码的解密方法,其特征在于,所述预先确定的解密数字位确定规则包括:
将所述待解密多数字位号码的最左侧的第二预设位数号码作为前段号码,将所述待解密多数字位号码的最右侧的第三预设位数号码作为后段号码,将所述前段号码和后段号码作为非解密号码段,其中,所述第二预设位数与第三预设位数的和小于所述待解密多数字位号码的位数;将所述前段号码和后段号码从所述待解密多数字位号码中去除后,剩余的号码段作为待解密号码段。
8.如权利要求6或7所述的多数字位号码的解密方法,其特征在于,所述预先定义的解密密码学算法包括哈希算法和二进制数换算算法,该哈希算法的运算公式为:
Hash=Digest(Nl+Nr+K)
其中,K代表预设的该待解密多数字位号码对应的密钥,Nl代表该待解密多数字位号码最左侧的第二预设位数的号码,Nr代表该待解密多数字位号码最右侧的第三预设位数的号码,Hash代表计算得到的哈希值;
该二进制数换算算法的运算公式为:
Num=CalcNum(Hash)
其中,Num代表将计算得到的二进制的哈希值Hash换算成的十进制的运算值。
9.如权利要求8所述的多数字位号码的解密方法,其特征在于,所述预先确定的解密混合运算算法的公式可表示为:
Nm=(E_Nm-Num)mod10n
其中,E_Nm代表所述待解密号码段,Num代表十进制的运算值,n代表所述待解密号码段的号码位数,Nm代表计算得到的混合解密号码段。
10.一种加密服务器,其特征在于,所述加密服务器包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的多数字位号码的加密***,所述多数字位号码的加密***被所述处理器执行时实现如下步骤:
在接收到预设类型的待加密多数字位号码后,根据预先确定的加密数字位确定规则,确定第一预设位数待加密号码段,以及除所述待加密号码段以外的非加密号码段;
使用与该待加密多数字位号码对应的预先定义的加密密码学算法和密钥,对确定的非加密号码段进行运算处理生成运算值;
采用预先确定的加密混合运算算法对所述待加密号码段和生成的运算值进行加密混合运算,得到第一预设位数的混合加密号码段;
在所述预设类型的待加密多数字位号码中将所述待加密号码段替换为所述混合加密号码段,生成加密后的多数字位号码。
11.如权利要求10所述的加密服务器,其特征在于,所述多数字位号码的加密***被所述处理器执行时,还实现如下步骤:
根据预先确定的号码加密标识规则,为所述加密后的多数字位号码生成加密标识;其中,所述预先确定的号码加密标识规则包括:
根据多数字位号码的含义,将生成的加密后的多数字位号码中的一个或多个预设位数的号码变换为与该待加密多数字位号码的类型相对应的加密标识。
12.如权利要求10所述的加密服务器,其特征在于,所述预先确定的加密数字位确定规则包括:
将所述待加密多数字位号码的最左侧的第二预设位数号码作为前段号码,将所述待加密多数字位号码的最右侧的第三预设位数号码作为后段号码,将所述前段号码和后段号码作为非加密号码段,其中,所述第二预设位数与第三预设位数的和小于所述待加密多数字位号码的位数;将所述前段号码和后段号码从所述待加密多数字位号码中去除后,剩余的号码段作为待加密号码段。
13.如权利要求10-12中任一项所述的加密服务器,其特征在于,所述预先定义的加密密码学算法包括哈希算法和二进制数换算算法,该哈希算法的运算公式为:
Hash=Digest(Nl+Nr+K)
其中,K代表预设的该待加密多数字位号码对应的密钥,Nl代表该待加密多数字位号码最左侧的第二预设位数的号码,Nr代表该待加密多数字位号码最右侧的第三预设位数的号码,Hash代表计算得到的哈希值;
该二进制数换算算法的运算公式为:
Num=CalcNum(Hash)
其中,Num代表将计算得到的二进制的哈希值Hash换算成的十进制的运算值。
14.如权利要求13所述的加密服务器,其特征在于,所述预先确定的加密混合运算算法的公式为:
E_Nm=(Nm+Num)mod10n
其中,Nm代表所述待加密号码段,Num代表十进制的运算值,n代表所述待加密号码段的号码位数,E_Nm代表计算得到的混合加密号码段。
15.一种解密服务器,其特征在于,所述解密服务器包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的多数字位号码的解密***,所述多数字位号码的解密***被所述处理器执行时实现如下步骤:
在收到预设类型的待解密多数字位号码后,根据预先确定的解密数字位确定规则,确定第一预设位数的待解密号码段,以及除所述待解密号码段以外的非解密号码段;
使用与该待解密多数字位号码对应的预先定义的解密密码学算法和密钥,对确定的非解密号码段进行运算处理生成运算值;
采用预先确定的解密混合运算算法对所述待解密号码段和生成的运算值进行解密混合运算,得到第一预设位数的混合解密号码段;
在所述待解密多数字位号码中将所述待解密号码段替换为所述混合解密号码段,生成解密后的多数字位号码。
16.如权利要求15所述的解密服务器,其特征在于,所述预先确定的解密数字位确定规则包括:
将所述待解密多数字位号码的最左侧的第二预设位数号码作为前段号码,将所述待解密多数字位号码的最右侧的第三预设位数号码作为后段号码,将所述前段号码和后段号码作为非解密号码段,其中,所述第二预设位数与第三预设位数的和小于所述待解密多数字位号码的位数;将所述前段号码和后段号码从所述待解密多数字位号码中去除后,剩余的号码段作为待解密号码段。
17.如权利要求15或16所述的解密服务器,其特征在于,所述预先定义的解密密码学算法包括哈希算法和二进制数换算算法,该哈希算法的运算公式为:
Hash=Digest(Nl+Nr+K)
其中,K代表预设的该待解密多数字位号码对应的密钥,Nl代表该待解密多数字位号码最左侧的第二预设位数的号码,Nr代表该待解密多数字位号码最右侧的第三预设位数的号码,Hash代表计算得到的哈希值;
该二进制数换算算法的运算公式为:
Num=CalcNum(Hash)
其中,Num代表将计算得到的二进制的哈希值Hash换算成的十进制的运算值。
18.如权利要求17所述的解密服务器,其特征在于,所述预先确定的解密混合运算算法的公式可表示为:
Nm=(E_Nm-Num)mod10n
其中,E_Nm代表所述待解密号码段,Num代表十进制的运算值,n代表所述待解密号码段的号码位数,Nm代表计算得到的混合解密号码段。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711344638.7A CN107835073B (zh) | 2017-12-15 | 2017-12-15 | 多数字位号码的加密、解密方法以及加密、解密服务器 |
PCT/CN2018/072921 WO2019114084A1 (zh) | 2017-12-15 | 2018-01-17 | 多数字位号码的加密、解密方法以及加密、解密服务器 |
US16/772,777 US11354427B2 (en) | 2017-12-15 | 2018-01-17 | Encrypting/decrypting method for multi-digit number and encrypting/decrypting server |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711344638.7A CN107835073B (zh) | 2017-12-15 | 2017-12-15 | 多数字位号码的加密、解密方法以及加密、解密服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107835073A CN107835073A (zh) | 2018-03-23 |
CN107835073B true CN107835073B (zh) | 2019-05-17 |
Family
ID=61644581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711344638.7A Active CN107835073B (zh) | 2017-12-15 | 2017-12-15 | 多数字位号码的加密、解密方法以及加密、解密服务器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11354427B2 (zh) |
CN (1) | CN107835073B (zh) |
WO (1) | WO2019114084A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109583237A (zh) * | 2018-12-10 | 2019-04-05 | 平安科技(深圳)有限公司 | 用户数据保护方法、服务器及存储介质 |
CN110738513B (zh) * | 2019-09-11 | 2022-08-02 | 完美世界(北京)软件科技发展有限公司 | 一种用于生成、验证兑换码的方法和装置 |
CN114980087A (zh) * | 2021-02-26 | 2022-08-30 | 中国联合网络通信集团有限公司 | 数据加密的方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103780622A (zh) * | 2014-01-24 | 2014-05-07 | 华中科技大学 | 一种面向云存储的数据分类加密方法 |
CN103906039A (zh) * | 2012-12-27 | 2014-07-02 | ***通信集团福建有限公司 | 一种防止手机号码泄露的方法和装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8442218B2 (en) * | 2009-02-27 | 2013-05-14 | Red Hat, Inc. | Method and apparatus for compound hashing via iteration |
CN102521679B (zh) | 2011-11-03 | 2014-09-03 | 北京农业信息技术研究中心 | 农产品电子追溯监管码生成方法和装置 |
US9721190B2 (en) * | 2014-12-19 | 2017-08-01 | Google Inc. | Large-scale classification in neural networks using hashing |
CN105966111A (zh) | 2016-05-11 | 2016-09-28 | 上海理工大学 | 一种快递隐私信息保护面单 |
CN106295367A (zh) * | 2016-08-15 | 2017-01-04 | 北京奇虎科技有限公司 | 数据加密方法及装置 |
JP6867583B2 (ja) * | 2017-03-23 | 2021-04-28 | 富士通株式会社 | データ生成プログラム、データ生成方法、およびデータ生成装置 |
US10476674B2 (en) * | 2017-05-18 | 2019-11-12 | Linden Research, Inc. | Systems and methods to secure searchable data having personally identifiable information |
CN107124500A (zh) | 2017-06-19 | 2017-09-01 | 上海传英信息技术有限公司 | 一种通信设备内通讯录的显示方法及显示装置 |
-
2017
- 2017-12-15 CN CN201711344638.7A patent/CN107835073B/zh active Active
-
2018
- 2018-01-17 WO PCT/CN2018/072921 patent/WO2019114084A1/zh active Application Filing
- 2018-01-17 US US16/772,777 patent/US11354427B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103906039A (zh) * | 2012-12-27 | 2014-07-02 | ***通信集团福建有限公司 | 一种防止手机号码泄露的方法和装置 |
CN103780622A (zh) * | 2014-01-24 | 2014-05-07 | 华中科技大学 | 一种面向云存储的数据分类加密方法 |
Also Published As
Publication number | Publication date |
---|---|
US20200327239A1 (en) | 2020-10-15 |
CN107835073A (zh) | 2018-03-23 |
WO2019114084A1 (zh) | 2019-06-20 |
US11354427B2 (en) | 2022-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8739297B2 (en) | Key usage policies for cryptographic keys | |
CN100487715C (zh) | 一种数据安全存储***和装置及方法 | |
CN110391906B (zh) | 基于区块链的数据处理方法、电子装置及可读存储介质 | |
US8615081B2 (en) | Secure key creation | |
CN109948347B (zh) | 一种数据存储方法及装置、服务器及可读存储介质 | |
CN107835073B (zh) | 多数字位号码的加密、解密方法以及加密、解密服务器 | |
CN108462686A (zh) | 动态密钥的获取方法、装置、终端设备及存储介质 | |
CN108959978A (zh) | 设备中密钥的生成与获取方法及装置 | |
US9288051B2 (en) | Secure key management | |
CN111245597A (zh) | 密钥管理方法、***及设备 | |
CN109120573B (zh) | 传输密钥生成方法、终端及服务器 | |
CN109787768A (zh) | 一种身份验证配置方法、装置及计算机可读存储介质 | |
US8713709B2 (en) | Key management policies for cryptographic keys | |
CN109583237A (zh) | 用户数据保护方法、服务器及存储介质 | |
US10038560B2 (en) | Method for validating a cryptographic parameter and corresponding device | |
CN110661621A (zh) | 一种基于hmac、aes、rsa的混合加解密方法 | |
US9306745B2 (en) | Secure key management | |
CN111949996A (zh) | 安全私钥的生成方法、加密方法、***、设备及介质 | |
Zhao | Improvement of cloud computing medical data protection technology based on symmetric encryption algorithm | |
CN115766064A (zh) | 一种密码应用方法、装置、设备及存储介质 | |
CN112199730A (zh) | 一种终端上应用数据的处理方法、装置及电子设备 | |
CN112913184B (zh) | 计算基于块密码的加密方案***和方法的密钥轮换周期 | |
CN110460566B (zh) | 基于令牌的工业网络数据防篡改方法和*** | |
CN113127426A (zh) | 一种智能卡的文件管理方法及*** | |
Rivera Carranza | Large-scale analysis of the security of cryptographic keys |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |