CN108880812A - 数据加密的方法和系统 - Google Patents
数据加密的方法和系统 Download PDFInfo
- Publication number
- CN108880812A CN108880812A CN201710323634.4A CN201710323634A CN108880812A CN 108880812 A CN108880812 A CN 108880812A CN 201710323634 A CN201710323634 A CN 201710323634A CN 108880812 A CN108880812 A CN 108880812A
- Authority
- CN
- China
- Prior art keywords
- encryption
- ciphertext
- data
- obtains
- user 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.)
- Granted
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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
Abstract
本公开提供了一种数据加密的方法,包括:获取第一信息,所述第一信息包括第一数据、第一加密因子以及第一用户信息组合得到的字符串,所述第一数据与原始数据相关;通过第一加密算法对所述第一信息进行加密计算,得到第一密文;以及对所述第一密文进行加密处理,得到加密数据。
Description
技术领域
本公开涉及数据处理领域,更具体地,涉及一种数据加密的方法和系统。
背景技术
随着互联网技术的快速发展,通过网络平台进行的交易、查询以及信息存储等活动以其低成本、高效率的优势获得了越来越多的用户青睐。但是,在网络活动中,为了保护用户的信息以及财产安全,防止用户信息的泄露,使得大众对用户信息安全性的要求越来越高。其中,用户账号密码信息的保密性无疑是保护用户信息安全的重要部分。而通过对用户账号密码进行加密处理则可以更好地保护用户信息安全。
然而,在实现本发明构思的过程中,发明人发现现有技术中至少存在如下问题,即,现有的加密处理已经难以应对枚举爆破的风险,其安全性已经受到威胁。
发明内容
有鉴于此,本公开提供了一种更加安全的数据加密的方法和系统。
本公开的一个方面提供了一种数据加密的方法,包括:获取第一信息,该第一信息包括第一数据、第一加密因子以及第一用户信息组合得到的字符串,其中,第一数据与原始数据相关,通过第一加密算法对第一信息进行加密计算,得到第一密文,以及对所述第一密文进行加密处理,得到加密数据。
根据本公开的实施例,所述获取第一信息包括获取第一数据,所述获取第一数据包括:获取原始数据,通过第二加密算法对所述原始数据进行加密计算,得到第二密文,获取第二加密因子,以及通过第三加密算法对所述第二密文以及第二加密因子组合得到的字符串进行加密计算,得到所述第一数据。
根据本公开的实施例,所述第二加密算法包括消息摘要算法MD,以及所述第三加密算法包括安全散列算法SHA。
根据本公开的实施例,所述获取第一信息包括获取第一用户信息,所述获取第一用户信息包括:获取用户信息,所述用户信息包括用户账号信息,以及通过第四加密算法对所述用户信息进行加密计算,得到所述第一用户信息,其中,所述第四加密算法包括消息摘要算法MD或者安全散列算法SHA中的一种或者几种的任意组合。
根据本公开的实施例,所述第一加密算法包括安全散列算法SHA,所述安全散列算法SHA包括SHA-256算法。
根据本公开的实施例,所述对所述第一密文进行加密处理,至少包括以下任意之一:将所述第一密文中的至少两位字符进行交换处理,或者在所述第一密文中插入至少一个标识码,或者将所述第一密文中的至少两位字符进行交换处理,得到第一交换密文,并且在所述第一交换密文中插入至少一个标识码,或者在所述第一密文中插入至少一个标识码,得到第一标识密文,并且将所述第一标识密文中的至少两位字符进行交换处理。
本公开的另一个方面提供了一种数据加密的系统,包括:第一获取模块,获取第一信息,所述第一信息包括第一数据、第一加密因子以及第一用户信息组合得到的字符串,所述第一数据与原始数据相关,第一加密模块,通过第一加密算法对所述第一信息进行加密计算,得到第一密文,以及加密处理模块,对所述第一密文进行加密处理,得到加密数据。
根据本公开的实施例,所述第一获取模块包括第一数据获取单元,所述第一数据获取单元包括:原始数据获取子单元,获取原始数据,第二加密子单元,通过第二加密算法对所述原始数据进行加密计算,得到第二密文,第二获取子单元,获取第二加密因子,以及第三加密子单元,通过第三加密算法对所述第二密文以及第二加密因子组合得到的字符串进行加密计算,得到所述第一数据。
根据本公开的实施例,所述第二加密算法包括消息摘要算法MD;所述第三加密算法包括安全散列算法SHA。
根据本公开的实施例,所述第一获取模块包括第一用户信息获取单元,所述第一用户信息获取单元包括:用户信息获取子单元,获取用户信息,所述用户信息包括用户账号信息,第四加密子单元,通过第四加密算法对所述用户信息进行加密计算,得到所述第一用户信息,其中,所述第四加密算法包括消息摘要算法MD或者安全散列算法SHA中的一种或者几种的任意组合。
根据本公开的实施例,所述第一加密算法包括安全散列算法SHA,所述安全散列算法SHA包括SHA-256算法。
根据本公开的实施例,所述处理模块,至少包括以下任意之一:第一处理单元,将所述第一密文中的至少两位字符进行交换处理,第二处理单元,在所述第一密文中插入至少一个标识码,第三处理单元,将所述第一密文中的至少两位字符进行交换处理,得到第一交换密文,并且在所述第一交换密文中插入至少一个标识码,或者第四处理单元,在所述第一密文中插入至少一个标识码,得到第一标识密文,并且将所述第一标识密文中的至少两位字符进行交换处理。
本公开的另一方面提供了一种数据加密的系统,包括:一个或多个存储器,存储有可执行指令,以及一个或多个处理器,执行所述可执行指令,以实现如上所述的方法。
本公开的另一方面提供了一种非易失性存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
根据本公开的实施例,可以减少用户信息泄露的风险,以及至少部分地避免枚举爆破等方法解密的风险,并因此可以实现为用户提供更加安全的保密服务的技术效果。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本公开实施例的可以应用本公开的用户请求处理方法或系统的示例性系统架构;
图2示意性示出了根据本公开实施例的数据加密的方法的流程图;
图3示意性示出了根据本公开实施例的获取第一数据的方法流程图;
图4示意性示出了根据本公开实施例的数据加密系统的框图;
图5示意性示出了根据本公开实施例的第一获取模块的框图;
图6示意性示出了根据本公开实施例的第一数据获取单元的框图;
图7示意性示出了根据本公开实施例的第一用户信息获取单元的框图;
图8示意性示出了根据本公开实施例的加密处理模块的框图;以及
图9示意性示出了根据本公开实施例的计算机系统的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。这里使用的词语“一”、“一个(种)”和“该”等也应包括“多个”、“多种”的意思,除非上下文另外明确指出。此外,在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。
因此,本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。在本公开的上下文中,计算机可读介质可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,计算机可读介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。计算机可读介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
随着互联网的蓬勃发展,用户在使用网络进行交易,存储,查询等网络活动时,多使用账号和密码的组合方式实现用户信息的保密。服务端通常会将账号密码对应存储,当账号和密码相匹配时则成功登陆。但是,密码如果以明文的形式存储,一旦发生信息泄露时,则无法保证用户信息的安全。而将密码进行加密处理后再存储,则即使发生信息泄露也不会被轻易破解。
本公开的实施例提供了一种数据加密的方法和系统,该方法包括:获取第一信息,其中,第一信息包括第一数据、第一加密因子以及第一用户信息组合得到的字符串,并且第一数据与原始数据(需要进行保密的信息数据)相关,然后通过第一加密算法对该第一信息进行加密计算,得到第一密文,以及对第一密文进行加密处理,得到加密数据。
图1示意性示出了根据本公开的实施例的可以应用本公开的数据加密的方法或系统的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103输入的用户账号密码提供支持、处理、存储和保护的后台管理服务器。后台管理服务器可以对接收到的用户输入的账号密码等数据进行分析等处理,并将处理结果(例如账号和密码是否匹配)反馈给终端设备。
根据本公开实施例,用户可以通过终端设备101、102、103进行注册或者修改密码等操作,服务器105对该用户的密码进行加密处理,然后将加密处理后的密码信息进行存储。当用户进行登录操作时,终端设备101、102、103得到用户输入的账号以及密码,然后通过网络104将账号以及密码信息传输给服务器105,服务器105对该密码进行同样的加密处理,如果加密处理的结果与存储的密码信息相同,则证明用户输入的账号密码相匹配,可以登录。
需要说明的是,本申请实施例所提供的数据加密的方法可以由服务器105执行,也可以由不同于服务器105的另外一个服务器或者一个服务器集群执行。相应地,数据加密的系统可以设置于服务器105中,也可以设置于不同于服务器105的另外一个服务器或者一个服务器集群中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图2示意性示出了根据本公开实施例的数据加密的方法的流程图。
如图2所示,该方法包括操作S210~S230。
在操作S210,获取第一信息,其中,第一信息包括第一数据、第一加密因子以及第一用户信息组合得到的字符串。根据本公开实施例,获取第一信息可以包括获取第一数据、获取第一加密因子、以及获取第一用户信息,并且将获取得到的第一数据、第一加密因子以及第一用户信息组合得到字符串,从而生成第一信息。
其中,第一数据与原始数据相关。根据本公开实施例,第一数据可以是需要加密处理的原始数据,例如,用户密码的明文(123456)等。第一数据也可以是原始数据经过处理后得到的数据,例如,已经经过加密处理的用户密码密文(0ab54512cf24a2b904d298c992d2092f)。第一数据还可以是原始数据的逆序排列,例如,654321。本公开中提及的第一数据与需要进行加密处理的原始数据相关,可以是原始数据本身,也可以是原始数据经过处理后得到的数据,但不限于上述举例中的处理。
获取第一信息包括获取第一数据。根据本公开实施例,获取第一数据可以包括如图3所示的操作。
图3示意性示出了根据本公开实施例的获取第一数据的方法流程图。
如图3所示,该方法包括操作S310~S340。
在操作S310,获取原始数据。其中,原始数据表示需要进行加密处理的最原始的数据明文。例如,用户的密码123456。
在操作S320,通过第二加密算法对原始数据进行加密计算,得到第二密文。其中,第二加密算法可以包括消息摘要算法MD。例如,可以是对密码明文123456进行MD5加密计算,得到第二密文e10adc3949ba59abbe56e057f20f883e。根据本公开实施例,本公开的第二加密算法不限于加密算法的种类,可以是消息摘要算法MD系列,例如,MD5、MD2、MD3、MD4等,也可以是安全散列算法SHA系列,例如SHA-1、SHA-256、SHA-384等,也可以是哈希运算消息认证码HMAC,还可以是高级加密标准AES等。
在操作S330,获取第二加密因子。根据本公开实施例,第二加密因子可以是随机产生的任意字符串,也可以是特定加密算法对应的字符串(例如,可以是SHA-1对应的加密因子),还可以是预设用户对应的字符串。例如,第二加密因子可以abcd1234。
在操作S340,通过第三加密算法对第二密文以及第二加密因子组合得到的字符串进行加密计算,得到所述第一数据。根据本公开实施例,第二密文以及第二加密因子的组合可以是第二密文在前,第二加密因子在后,例如,e10adc3949ba59abbe56e057f20f883eabcd1234。也可以是第二加密因子在前,第二密文在后,例如,abcd1234e10adc3949ba59abbe56e057f20f883e。还可以是第二密文插入第二加密因子的预设位置,或者是第二加密因子插入第二密文的预设位置。本领域技术人员应当理解,第二密文以及第二加密因子的组合可以是任意组合,不限于上述举例中的组合方式。
其中,第三加密算法可以包括安全散列算法SHA。例如,可以是通过SHA-1对“e10adc3949ba59abbe56e057f20f883eabcd1234(第二密文在前,第二加密因子在后组合得到的字符串)”进行加密计算,得到第一数据“bbc5c745eaa395d722c5677c41def2a554a52cfe”。根据本公开实施例,本公开的第三加密算法不限于加密算法的种类,可以是安全散列算法SHA系列,例如SHA-1、SHA-256、SHA-384等,也可以是消息摘要算法MD系列,例如,MD5、MD2、MD3、MD4等,也可以是哈希运算消息认证码HMAC,还可以是高级加密标准AES等。
通过如图3所示的操作获得的第一数据与原始数据相关,并且是原始数据经过处理后得到的数据。但本领域技术人员应当理解,本公开不限第一数据的类型,第一数据可以是直接的原始数据明文,也可以是经过如图3处理过的数据,还可以是经过其他可能的处理方法处理过的数据。
再返回参考图2,在操作S210中,获取第一信息可以包括获取第一加密因子。根据本公开实施例,第一加密因子可以是随机产生的任意字符串,也可以是特定加密算法对应的字符串(例如,SHA-256 01版本对应的加密因子),还可以是预设用户对应的字符串。例如,第一加密因子可以是abcdefgh567890。
获取第一信息,还可以包括获取第一用户信息。根据本公开实施例,获取第一用户信息可以包括获取用户信息,其中,用户信息包括用户账号信息,以及通过第四加密算法对用户信息进行加密计算,得到第一用户信息,其中,所述第四加密算法包括消息摘要算法MD或者安全散列算法SHA中的一种或者几种的任意组合。
例如,用户账号为“小明”,则用户信息可以是通过MD5对“小明”进行加密计算得到的字符串“4cf350692a4a3bb54d13daacfe8c683b”。
本领域技术人员可以理解,本公开不限用户信息的类型,用户信息可以是用户账号,也可以是用户类型等。用户信息可以是未经处理的用户信息(例如,用户账号:小明),也可以是经过MD5加密处理得到的字符串(例如,4cf350692a4a3bb54d13daacfe8c683b),还可以是经过其他可能处理得到的第一用户信息。
第一信息包括第一数据、第一加密因子以及第一用户信息组合得到的字符串。其中,第一数据、第一加密因子以及第一用户信息的组合可以是按照第一数据,第一加密因子以及用户信息的顺序组合(例如,bbc5c745eaa395d722c5677c41def2a554a52cfeabcdefgh5678904cf350692a4a3bb54d13daacfe8c683b),也可以是按照第一加密因子,第一数据以及用户信息的顺序组合,还可以是第一加密因子以及用户信息插入到第一数据中的特定位置等。本公开对第一数据、第一加密因子以及用户信息的组合方法不进行限定。
在操作S220,通过第一加密算法对第一信息进行加密计算,得到第一密文。根据本公开实施例,第一加密算法包括安全散列算法SHA,安全散列算法SHA可以包括SHA-256算法。例如,通过SHA-256对第一信息bbc5c745eaa395d722c5677c41def2a554a52cfeabcdefgh5678904cf350692a4a3bb54d13daacfe8c683b(按照第一数据,第一加密因子以及第一用户信息的顺序组合得到的第一信息)进行加密计算,得到第一密文fa67be4eca399a6914e5a8dcf57b45654f890765809da7eb2fd332a017428dec。
根据本公开实施例,本公开的第一加密算法不限于加密算法的种类,可以是安全散列算法SHA系列,例如SHA-1、SHA-256、SHA-384等,也可以是消息摘要算法MD系列,例如,MD5、MD2、MD3、MD4等,也可以是哈希运算消息认证码HMAC,还可以是高级加密标准AES等。
在操作S230,对第一密文进行加密处理,得到加密数据。
根据本公开实施例,对第一密文进行加密处理可以是将第一密文中的至少两位字符进行交换处理。例如,将第一密文中的第2位字符(a)与第5位字符(b)进行交换。或者第一密文中的第2位字符(a)、第5位字符(b)以及第8位字符(e)进行互相交换。或者将第一密文中的第2位字符(a)与第5位字符(b)进行交换,并且同时将第一密文中的第3位字符(6)与第7位字符(4)进行交换。根据本公开实施例,进行交换的至少两位字符的位置可以是随机确定的,也可以是根据第一加密算法的版本而确定的。
对第一密文进行加密处理也可以是在第一密文中插入至少一个标识码。根据本公开实施例,标识码可以是第一加密算法(例如,安全散列算法SHA-256)的版本对应的版本标识码。在第一密文中插入至少一个标识码可以是将标识码插入到第一密文的预设位置,也可以是随机的插入到第一密文中的任意位置。例如,标识码为01,则可以将该标识码插入到密文的第5位字符(b)和第6位字符(e)中间,即xxxxb01exxxx……。根据本公开实施例,标识码插入的位置可以是随机确定的,也可以是根据第一加密算法的版本(例如,SHA-256 02版)而确定的。
对第一密文进行加密处理也可以是将第一密文中的至少两位字符进行交换处理,得到第一交换密文,并且在第一交换密文中插入至少一个标识码。
对第一密文进行加密处理还可以是在第一密文中插入至少一个标识码,得到第一标识密文,并且将第一标识密文中的至少两位字符进行交换处理。
根据本公开实施例,当第一加密算法的版本进行更新或者变动时,第一加密因子或者进行交换的至少两位字符的位置或者标识码插入的位置可以随着版本变动,重新对数据进行加密计算得到新的加密数据。一旦用户信息发生泄漏,可以更新第一加密算法的版本,生成新的加密数据,提高用户信息的安全性。
本公开提供的数据加密的方法,通过将第一数据、第一加密因子以及第一用户信息组合得到的字符串进行加密计算,并且将加密计算得到的第一密文进行加密处理,可以增加破解难度,提高用户信息的安全性。
图4示意性示出了根据本公开的实施例的数据加密系统400的框图。
如图4所示,数据加密系统400包括第一获取模块410、第一加密模块420、以及加密处理模块430。该数据加密系统400可以执行上面参考图2~图3描述的方法,以实现提高用户信息安全性的目的。
具体地,第一获取模块410,获取第一信息,其中,第一信息包括第一数据、第一加密因子以及第一用户信息组合得到的字符串。根据本公开实施例,获取第一信息可以包括获取第一数据、获取第一加密因子、以及获取第一用户信息,并且将获取得到的第一数据、第一加密因子以及第一用户信息组合得到字符串,从而生成第一信息。其中,第一数据与原始数据相关。根据本公开实施例,第一获取模块410例如可以执行上文参考图2描述的操作S210,在此不再赘述。
根据本公开实施例,如图5所示,第一获取模块410包括第一数据获取单元411、第一加密因子获取单元412以及第一用户信息获取单元413。
第一数据获取单元411,获取第一数据。其中,如图6所示,第一数据获取单元411包括原始数据获取子单元4111、第二加密子单元4112、第二获取子单元4113以及第三加密子单元4114。
原始数据获取子单元4111,获取原始数据。其中,原始数据表示需要进行加密处理的最原始的数据明文。例如,用户的密码123456。
第二加密子单元4112,通过第二加密算法对原始数据进行加密计算,得到第二密文。其中,第二加密算法可以包括消息摘要算法MD。根据本公开实施例,第二加密子单元4112例如可以执行上文参考图3描述的操作S320,在此不再赘述。
第二获取子单元5113,获取第二加密因子。根据本公开实施例,第二加密因子可以是随机产生的任意字符串,也可以是特定加密算法对应的字符串(例如,可以是SHA-1对应的加密因子),还可以是预设用户对应的字符串。例如,第二加密因子可以abcd1234。
第三加密子单元5114,通过第三加密算法对第二密文以及第二加密因子组合得到的字符串进行加密计算,得到所述第一数据。根据本公开实施例,第三加密子单元5114例如可以执行上文参考图3描述的操作S340,在此不再赘述。
再返回图5,第一加密因子获取单元412,获取第一加密因子。根据本公开实施例,第一加密因子可以是随机产生的任意字符串,也可以是特定加密算法对应的字符串(例如,SHA-256 01版本对应的加密因子),还可以是预设用户对应的字符串。例如,第一加密因子可以是abcdefgh567890。
第一用户信息获取单元413,获取第一用户信息。其中,如图7所示,第一用户信息获取单元413包括用户信息获取子单元4131以及第四加密子单元4132。
用户信息获取子单元4131,获取第一用户信息可以包括获取用户信息,其中,用户信息包括用户账号信息。
第四加密子单元4132,通过第四加密算法对用户信息进行加密计算,得到第一用户信息,其中,所述第四加密算法包括消息摘要算法MD或者安全散列算法SHA中的一种或者几种的任意组合。
例如,用户账号为“小明”,则用户信息可以是通过MD5对“小明”进行加密计算得到的字符串“4cf350692a4a3bb54d13daacfe8c683b”。
本领域技术人员可以理解,本公开不限用户信息的类型,用户信息可以是用户账号,也可以是用户类型等。用户信息可以是未经处理的用户信息(例如,用户账号:小明),也可以是经过MD5加密处理得到的字符串(例如,4cf350692a4a3bb54d13daacfe8c683b),还可以是经过其他可能处理得到的第一用户信息。
根据本公开实施例,第一获取模块410还可以用于将第一数据获取单元411、第一加密因子获取单元412以及第一用户信息获取单元413获取的数据进行组合。例如,第一数据、第一加密因子以及第一用户信息的组合可以是按照第一数据,第一加密因子以及用户信息的顺序组合(例如,bbc5c745eaa395d722c5677c41def2a554a52cfeabcdefgh5678904cf350692a4a3bb54d13daacfe8c683b),也可以是按照第一加密因子,第一数据以及用户信息的顺序组合,还可以是第一加密因子以及用户信息插入到第一数据中的特定位置等。本公开对第一数据、第一加密因子以及用户信息的组合方法不进行限定。
再返回图4,第一加密模块420,通过第一加密算法对第一信息进行加密计算,得到第一密文。根据本公开实施例,第一加密模块420例如可以执行上文参考图2描述的操作S220,在此不再赘述。
加密处理模块430,对第一密文进行加密处理,得到加密数据。根据本公开实施例,如图8所示,处理加密模块430包括第一处理单元431、第二处理单元432、第三处理单元433以及第四处理单元434。
第一处理单元431,对第一密文进行加密处理可以是将第一密文中的至少两位字符进行交换处理。根据本公开实施例,第一处理单元431例如可以执行上文参考图2描述的操作S230,在此不再赘述。
第二处理单元432,对第一密文进行加密处理也可以是在第一密文中插入至少一个标识码。根据本公开实施例,第二处理单元432例如可以执行上文参考图2描述的操作S230,在此不再赘述。
第三处理单元433,对第一密文进行加密处理也可以是将第一密文中的至少两位字符进行交换处理,得到第一交换密文,并且在第一交换密文中插入至少一个标识码。
第四处理单元434,对第一密文进行加密处理还可以是在第一密文中插入至少一个标识码,得到第一标识密文,并且将第一标识密文中的至少两位字符进行交换处理。
根据本公开实施例,当第一加密算法的版本进行更新或者变动时,第一加密因子或者进行交换的至少两位字符的位置或者标识码插入的位置可以随着版本变动,重新对数据进行加密计算得到新的加密数据。一旦用户信息发生泄漏,可以更新第一加密算法的版本,生成新的加密数据,提高用户信息的安全性。
本公开提供的数据加密的方法,通过将第一数据、第一加密因子以及第一用户信息组合得到的字符串进行加密计算,并且将加密计算得到的第一密文进行加密处理,可以增加破解难度,提高用户信息的安全性。
可以理解的是,第一获取模块410、第一加密模块420、以及加密处理模块430可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本发明的实施例,第一获取模块410、第一加密模块420、以及加密处理模块430中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以以对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式的适当组合来实现。或者,第一获取模块410、第一加密模块420、以及加密处理模块430中的至少一个可以至少被部分地实现为计算机程序模块,当该程序被计算机运行时,可以执行相应模块的功能。
图9示意性示出了适于用来实现本公开实施例的计算机系统900的结构示意图。
如图9所示,计算机系统900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有系统900操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本公开的系统中限定的上述功能。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括发送单元、获取单元、确定单元和第一处理单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,发送单元还可以被描述为“向所连接的服务端发送图片获取请求的单元”。
作为另一方面,根据本公开的实施例还提供了一种计算机可读介质。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,可以实现根据本公开实施例的数据加密的方法,包括:获取第一信息,该第一信息包括第一数据、第一加密因子以及第一用户信息组合得到的字符串,其中,第一数据与原始数据相关,通过第一加密算法对第一信息进行加密计算,得到第一密文,以及对所述第一密文进行加密处理,得到加密数据。
根据本公开的实施例,所述获取第一信息包括获取第一数据,所述获取第一数据包括:获取原始数据,通过第二加密算法对所述原始数据进行加密计算,得到第二密文,获取第二加密因子,以及通过第三加密算法对所述第二密文以及第二加密因子组合得到的字符串进行加密计算,得到所述第一数据。
根据本公开的实施例,所述第二加密算法包括消息摘要算法MD,以及所述第三加密算法包括安全散列算法SHA。
根据本公开的实施例,所述获取第一信息包括获取第一用户信息,所述获取第一用户信息包括:获取用户信息,所述用户信息包括用户账号信息,以及通过第四加密算法对所述用户信息进行加密计算,得到所述第一用户信息,其中,所述第四加密算法包括消息摘要算法MD或者安全散列算法SHA中的一种或者几种的任意组合。
根据本公开的实施例,所述第一加密算法包括安全散列算法SHA,所述安全散列算法SHA包括SHA-256算法。
根据本公开的实施例,所述对所述第一密文进行加密处理,至少包括以下任意之一:将所述第一密文中的至少两位字符进行交换处理,或者在所述第一密文中插入至少一个标识码,或者将所述第一密文中的至少两位字符进行交换处理,得到第一交换密文,并且在所述第一交换密文中插入至少一个标识码,或者在所述第一密文中插入至少一个标识码,得到第一标识密文,并且将所述第一标识密文中的至少两位字符进行交换处理。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。
Claims (14)
1.一种数据加密的方法,包括:
获取第一信息,所述第一信息包括第一数据、第一加密因子以及第一用户信息组合得到的字符串,所述第一数据与原始数据相关;
通过第一加密算法对所述第一信息进行加密计算,得到第一密文;以及
对所述第一密文进行加密处理,得到加密数据。
2.根据权利要求1所述的方法,其中,所述获取第一信息包括获取第一数据,所述获取第一数据包括:
获取原始数据;
通过第二加密算法对所述原始数据进行加密计算,得到第二密文;
获取第二加密因子;
通过第三加密算法对所述第二密文以及第二加密因子组合得到的字符串进行加密计算,得到所述第一数据。
3.根据权利要求2所述的方法,其中:
所述第二加密算法包括消息摘要算法MD;
所述第三加密算法包括安全散列算法SHA。
4.根据权利要求1所述的方法,其中,所述获取第一信息包括获取第一用户信息,所述获取第一用户信息包括:
获取用户信息,所述用户信息包括用户账号信息;
通过第四加密算法对所述用户信息进行加密计算,得到所述第一用户信息,其中,所述第四加密算法包括消息摘要算法MD或者安全散列算法SHA中的一种或者几种的任意组合。
5.根据权利要求1所述的方法,其中,所述第一加密算法包括安全散列算法SHA,所述安全散列算法SHA包括SHA-256算法。
6.根据权利要求1所述的方法,其中,所述对所述第一密文进行加密处理,至少包括以下任意之一:
将所述第一密文中的至少两位字符进行交换处理;
在所述第一密文中插入至少一个标识码;
将所述第一密文中的至少两位字符进行交换处理,得到第一交换密文,并且在所述第一交换密文中插入至少一个标识码;或者
在所述第一密文中插入至少一个标识码,得到第一标识密文,并且将所述第一标识密文中的至少两位字符进行交换处理。
7.一种数据加密的系统,包括:
第一获取模块,获取第一信息,所述第一信息包括第一数据、第一加密因子以及第一用户信息组合得到的字符串,所述第一数据与原始数据相关;
第一加密模块,通过第一加密算法对所述第一信息进行加密计算,得到第一密文;以及
加密处理模块,对所述第一密文进行加密处理,得到加密数据。
8.根据权利要求7所述的系统,所述第一获取模块包括第一数据获取单元,所述第一数据获取单元包括:
原始数据获取子单元,获取原始数据;
第二加密子单元,通过第二加密算法对所述原始数据进行加密计算,得到第二密文;
第二获取子单元,获取第二加密因子;以及
第三加密子单元,通过第三加密算法对所述第二密文以及第二加密因子组合得到的字符串进行加密计算,得到所述第一数据。
9.根据权利要求8所述的系统,其中:
所述第二加密算法包括消息摘要算法MD;
所述第三加密算法包括安全散列算法SHA。
10.根据权利要求7所述的系统,其中,所述第一获取模块包括第一用户信息获取单元,所述第一用户信息获取单元包括:
用户信息获取子单元,获取用户信息,所述用户信息包括用户账号信息;
第四加密子单元,通过第四加密算法对所述用户信息进行加密计算,得到所述第一用户信息,其中,所述第四加密算法包括消息摘要算法MD或者安全散列算法SHA中的一种或者几种的任意组合。
11.根据权利要求7所述的系统,其中,所述第一加密算法包括安全散列算法SHA,所述安全散列算法SHA包括SHA-256算法。
12.根据权利要求7所述的系统,其中,所述处理模块,至少包括以下任意之一:
第一处理单元,将所述第一密文中的至少两位字符进行交换处理;
第二处理单元,在所述第一密文中插入至少一个标识码;
第三处理单元,将所述第一密文中的至少两位字符进行交换处理,得到第一交换密文,并且在所述第一交换密文中插入至少一个标识码;或者
第四处理单元,在所述第一密文中插入至少一个标识码,得到第一标识密文,并且将所述第一标识密文中的至少两位字符进行交换处理。
13.一种数据加密的系统,包括:
一个或多个存储器,存储有可执行指令;以及
一个或多个处理器,执行所述可执行指令,以实现根据权利要求1~5中任一项所述的方法。
14.一种计算机可读存储介质,其上存储有可执行指令,所述指令在被处理器执行时实现根据权利要求1~5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710323634.4A CN108880812B (zh) | 2017-05-09 | 2017-05-09 | 数据加密的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710323634.4A CN108880812B (zh) | 2017-05-09 | 2017-05-09 | 数据加密的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108880812A true CN108880812A (zh) | 2018-11-23 |
CN108880812B CN108880812B (zh) | 2022-08-09 |
Family
ID=64287882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710323634.4A Active CN108880812B (zh) | 2017-05-09 | 2017-05-09 | 数据加密的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108880812B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109474616A (zh) * | 2018-12-17 | 2019-03-15 | 秒针信息技术有限公司 | 多平台数据共享方法和装置及计算机可读存储介质 |
CN110147658A (zh) * | 2019-04-16 | 2019-08-20 | 平安科技(深圳)有限公司 | 用户信息加解密方法、系统和计算机设备 |
CN110188549A (zh) * | 2019-05-14 | 2019-08-30 | 河北世窗信息技术股份有限公司 | 一种实现电子公文安全导入导出的方法和系统 |
CN111209583A (zh) * | 2020-01-13 | 2020-05-29 | 多点(深圳)数字科技有限公司 | 一种用于磁卡数据的加密算法 |
CN113099446A (zh) * | 2021-04-02 | 2021-07-09 | 广东海聊科技有限公司 | 一种北斗短报文终端的安全校验方法及系统 |
CN115023920A (zh) * | 2021-11-05 | 2022-09-06 | 富途网络科技(深圳)有限公司 | 股权激励系统中的数据处理的方法和装置 |
CN116319079A (zh) * | 2023-05-16 | 2023-06-23 | 北京赢科天地电子有限公司 | 一种成绩数据的安全加密方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101311942A (zh) * | 2007-05-23 | 2008-11-26 | 西门子(中国)有限公司 | 对软件进行加密、解密的方法及加密、解密的装置 |
CN102045590A (zh) * | 2003-03-31 | 2011-05-04 | 索尼电子有限公司 | 用于局部加密多媒体流的系统和方法 |
CN103780379A (zh) * | 2012-10-19 | 2014-05-07 | 阿里巴巴集团控股有限公司 | 密码加密方法和系统以及密码校验方法和系统 |
US20140185798A1 (en) * | 2012-12-30 | 2014-07-03 | Raymond Richard Feliciano | Method and apparatus for encrypting and decrypting data |
CN103916241A (zh) * | 2012-12-29 | 2014-07-09 | 北京谊安医疗系统股份有限公司 | 一种呼吸机功能选配的加密方法 |
US8867743B1 (en) * | 2013-11-13 | 2014-10-21 | MGM Resorts International | Encryption of large amounts of data using secure encryption methods |
US20160098568A1 (en) * | 2014-10-07 | 2016-04-07 | Storagecraft Technology Corporation | Client-side encryption in a deduplication backup system |
CN105515780A (zh) * | 2016-01-12 | 2016-04-20 | 浙江神州量子网络科技有限公司 | 基于量子密钥的身份认证系统和方法 |
CN105577644A (zh) * | 2015-12-07 | 2016-05-11 | 汉柏科技有限公司 | 一种加密认证方法和系统 |
CN106506159A (zh) * | 2016-11-18 | 2017-03-15 | 上海艾讯云计算有限公司 | 用于密钥安全的加密方法和设备 |
-
2017
- 2017-05-09 CN CN201710323634.4A patent/CN108880812B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102045590A (zh) * | 2003-03-31 | 2011-05-04 | 索尼电子有限公司 | 用于局部加密多媒体流的系统和方法 |
CN101311942A (zh) * | 2007-05-23 | 2008-11-26 | 西门子(中国)有限公司 | 对软件进行加密、解密的方法及加密、解密的装置 |
CN103780379A (zh) * | 2012-10-19 | 2014-05-07 | 阿里巴巴集团控股有限公司 | 密码加密方法和系统以及密码校验方法和系统 |
CN103916241A (zh) * | 2012-12-29 | 2014-07-09 | 北京谊安医疗系统股份有限公司 | 一种呼吸机功能选配的加密方法 |
US20140185798A1 (en) * | 2012-12-30 | 2014-07-03 | Raymond Richard Feliciano | Method and apparatus for encrypting and decrypting data |
US8867743B1 (en) * | 2013-11-13 | 2014-10-21 | MGM Resorts International | Encryption of large amounts of data using secure encryption methods |
US20160098568A1 (en) * | 2014-10-07 | 2016-04-07 | Storagecraft Technology Corporation | Client-side encryption in a deduplication backup system |
CN105577644A (zh) * | 2015-12-07 | 2016-05-11 | 汉柏科技有限公司 | 一种加密认证方法和系统 |
CN105515780A (zh) * | 2016-01-12 | 2016-04-20 | 浙江神州量子网络科技有限公司 | 基于量子密钥的身份认证系统和方法 |
CN106506159A (zh) * | 2016-11-18 | 2017-03-15 | 上海艾讯云计算有限公司 | 用于密钥安全的加密方法和设备 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109474616A (zh) * | 2018-12-17 | 2019-03-15 | 秒针信息技术有限公司 | 多平台数据共享方法和装置及计算机可读存储介质 |
CN109474616B (zh) * | 2018-12-17 | 2021-06-25 | 秒针信息技术有限公司 | 多平台数据共享方法和装置及计算机可读存储介质 |
CN110147658A (zh) * | 2019-04-16 | 2019-08-20 | 平安科技(深圳)有限公司 | 用户信息加解密方法、系统和计算机设备 |
CN110188549A (zh) * | 2019-05-14 | 2019-08-30 | 河北世窗信息技术股份有限公司 | 一种实现电子公文安全导入导出的方法和系统 |
CN111209583A (zh) * | 2020-01-13 | 2020-05-29 | 多点(深圳)数字科技有限公司 | 一种用于磁卡数据的加密算法 |
CN113099446A (zh) * | 2021-04-02 | 2021-07-09 | 广东海聊科技有限公司 | 一种北斗短报文终端的安全校验方法及系统 |
CN113099446B (zh) * | 2021-04-02 | 2023-02-21 | 广东海聊科技有限公司 | 一种北斗短报文终端的安全校验方法及系统 |
CN115023920A (zh) * | 2021-11-05 | 2022-09-06 | 富途网络科技(深圳)有限公司 | 股权激励系统中的数据处理的方法和装置 |
CN115023920B (zh) * | 2021-11-05 | 2024-01-19 | 富途网络科技(深圳)有限公司 | 股权激励系统中的数据处理的方法和装置 |
CN116319079A (zh) * | 2023-05-16 | 2023-06-23 | 北京赢科天地电子有限公司 | 一种成绩数据的安全加密方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108880812B (zh) | 2022-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108880812A (zh) | 数据加密的方法和系统 | |
CN106533665B (zh) | 用于存储网站私钥明文的方法、系统和装置 | |
US8601285B2 (en) | Method for secure program code execution in an electronic device | |
CN111835511A (zh) | 数据安全传输方法、装置、计算机设备及存储介质 | |
CN107248984A (zh) | 数据交换系统、方法和装置 | |
CN108777685A (zh) | 用于处理信息的方法和装置 | |
CN112347508A (zh) | 一种区块链数据共享加密和解密方法及系统 | |
CN109257162A (zh) | 加密算法白盒化的方法和装置 | |
CN109672521A (zh) | 基于国密加密引擎实现的安全存储系统和方法 | |
CN109743161A (zh) | 信息加密方法、电子设备和计算机可读介质 | |
CN109687966A (zh) | 加密方法及其系统 | |
CN116226289A (zh) | 基于区块链的电子凭证管理方法、装置、设备及存储介质 | |
CN110046000A (zh) | 小程序运行方法和装置 | |
CN113157635B (zh) | 在fpga上实现合约调用的方法及装置 | |
US11133926B2 (en) | Attribute-based key management system | |
CN109995534B (zh) | 一种对应用程序进行安全认证的方法和装置 | |
CN107707528B (zh) | 一种用户信息隔离的方法和装置 | |
CN109302442A (zh) | 一种数据存储证明方法及相关设备 | |
CN112565156B (zh) | 信息注册方法、装置和系统 | |
CN114491421A (zh) | 文件加密、文件处理方法、装置、可读介质和电子设备 | |
Rijanandi et al. | Implementation of encrypt national ID card in Sinovi application use waterfall methodology | |
CN110166226A (zh) | 一种生成秘钥的方法和装置 | |
CN110492998A (zh) | 加解密数据的方法 | |
CN114615087B (zh) | 数据共享方法、装置、设备及介质 | |
CN113505364B (zh) | 密码保护方法、电子设备和计算机可读存储介质 |
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 |