CN104683111A - 一种基于md5的加密方法及系统 - Google Patents
一种基于md5的加密方法及系统 Download PDFInfo
- Publication number
- CN104683111A CN104683111A CN201510121671.8A CN201510121671A CN104683111A CN 104683111 A CN104683111 A CN 104683111A CN 201510121671 A CN201510121671 A CN 201510121671A CN 104683111 A CN104683111 A CN 104683111A
- Authority
- CN
- China
- Prior art keywords
- data
- dynamic
- encryption
- algorithm
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 101100217298 Mus musculus Aspm gene Proteins 0.000 claims description 10
- 241000282376 Panthera tigris Species 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于MD5的加密方法及系统,包括:获取原始待加密数据,添加动态数据;根据预定的动态加密规则对添加动态数据的原始待加密数据进行加密运算,得到第一加密数据,其中,动态加密规则包括加密算法、加密次数及加密算法执行顺序;根据调整后的链接变量对第一加密数据进行MD5运算,得到第二加密数据;将动态信息加入第二加密数据得到第三加密数据,将第三加密数据转换为可见字符,得到加密结果,其中,动态信息包括动态数据的信息、动态加密规则的信息以及调整后的链接变量的信息。本发明公开的基于MD5的加密方法及系统,能够解决由于现有技术中标准开源算法容易被恶意破解而造成信息安全性不高的问题。
Description
技术领域
本发明涉及数据加密领域,尤其涉及一种基于MD5的加密方法及系统。
背景技术
随着网络通信技术的不断发展,信息安全越来越重要。于数据信息传输时,为了保证安全性,通常会采用加密算法对数据信息进行加密处理。但是,现有的标准开源加密算法由于算法机制完全透明,算法资料全面,很容易被暴力破解。
发明内容
本发明提供一种基于MD5的加密方法及系统,能够解决由于现有技术中标准开源算法容易被恶意破解而造成信息安全性不高的问题。
为了解决上述技术问题,本发明提供一种基于MD5的加密方法,包括以下步骤:获取原始待加密数据,添加动态数据;根据预定的动态加密规则对添加动态数据的原始待加密数据进行加密运算,得到第一加密数据,其中,所述动态加密规则包括加密算法、加密次数及加密算法执行顺序;根据调整后的链接变量对所述第一加密数据进行MD5运算,得到第二加密数据;将动态信息加入所述第二加密数据得到第三加密数据,将所述第三加密数据转换为可见字符,得到加密结果,其中,所述动态信息包括动态数据的信息、动态加密规则的信息以及所述调整后的链接变量的信息。
进一步地,所述动态数据由随机函数生成。
进一步地,所述第三加密数据包括所述动态信息在所述第三加密数据中的位置信息。
进一步地,所述动态加密规则的加密算法包括以下一种算法或其任意组合:AES算法、SHA1算法、RipeMD算法、Tiger算法、WhirlPool算法。
本发明还提供一种基于MD5的加密系统,包括:数据获取模块、第一加密模块、第二加密模块以及第三加密模块。所述数据获取模块,用于获取原始待加密数据,添加动态数据;所述第一加密模块,用于根据预定的动态加密规则对添加动态数据的原始待加密数据进行加密运算,得到第一加密数据,其中,所述动态加密规则包括加密算法、加密次数及加密算法执行顺序;所述第二加密模块,用于根据调整后的链接变量对所述第一加密数据进行MD5运算,得到第二加密数据;所述第三加密模块,用于将动态信息加入所述第二加密数据得到第三加密数据,将所述第三加密数据转换为可见字符,得到加密结果,其中,所述动态信息包括动态数据的信息、动态加密规则的信息以及所述调整后的链接变量的信息。
进一步地,所述动态数据由随机函数生成。
进一步地,所述第三加密数据包括所述动态信息在所述第三加密数据中的位置信息。
进一步地,所述动态加密规则的加密算法包括以下一种算法或其任意组合:AES算法、SHA1算法、RipeMD算法、Tiger算法、WhirlPool算法。
本发明提供的基于MD5的加密方法及系统,采用了多种加密算法混合,加密次数动态计算,动态信息分散在加密串各位置,能够解决现有技术中标准开源算法容易被破解的问题,可以满足高安全性要求的业务需求。
附图说明
图1所示为本发明较佳实施例提供的基于MD5的加密方法的流程图;
图2所示为本发明较佳实施例提供的基于MD5的加密系统的示意图。
具体实施方式
如图1所示,本发明较佳实施例提供的基于MD5的加密方法包括以下步骤:步骤S1:获取原始待加密数据,添加动态数据;步骤S2:根据预定的动态加密规则对添加动态数据的原始待加密数据进行加密运算,得到第一加密数据,其中,所述动态加密规则包括加密算法、加密次数及加密算法执行顺序;步骤S3:根据调整后的链接变量对所述第一加密数据进行MD5运算,得到第二加密数据;步骤S4:将动态信息加入所述第二加密数据得到第三加密数据,将所述第三加密数据转换为可见字符,得到加密结果,其中,所述动态信息包括动态数据的信息、动态加密规则的信息以及所述调整后的链接变量的信息。
于较佳实施例中,动态数据由随机函数生成。
于较佳实施例中,第三加密数据包括动态信息在第三加密数据中的位置信息。
于较佳实施例中,动态加密规则的加密算法包括以下一种算法或其任意组合:AES算法、SHA1算法、RipeMD算法、Tiger算法、WhirlPool算法。
接下来对本发明较佳实施例的流程进行详细描述。
举例而言,当本实施例的加密方法应用于手机游戏支付业务时,步骤S1获取的原始待加密数据例如为用户输入的需要加密的支付信息。同时,添加动态数据至原始待加密数据。其中,动态数据由随机函数生成,并具有指定格式,例如100~300之间的数字、30位的字节数组或规定每个字节为0~120的字节数组。
步骤S2中的动态加密规则为预定义的。举例而言,加密算法例如为AES算法和SHA1算法;加密次数例如为AES算法运算1次,SHA1算法运算2次;加密算法执行顺序例如为先进行AES算法运算,再进行SHA1算法运算。其中,可预先定义多种动态加密规则,于使用时,通过随机函数确定相应的动态加密规则。
在步骤S3中,对第一加密数据进行的MD5运算为非公MD5运算。即,以调整后的链接变量进行MD5运算。具体而言,标准的MD5运算有四个32位被称作链接变量(Chaining Variable)的整数参数,他们从小到大依次为:A=0x01234567,B=0x89abcdef,C=0xfedcba98,D=0x76543210。改变这四个链接变量的值进行运算,可使得运算结果与标准算法的结果不同。但是,若随意修改链接变量,容易出现不同字符串加密结果碰撞增加的情况(即,不同字符串的加密结果相同)。因此,于本实施例中,链接变量的修改值经过大数据碰撞测试得到,即将不同的链接变量修改值基于大规模的数据进行加密结果检测,根据加密结果的碰撞情况确定该链接变量修改值是否合适。于此,将经过大数据碰撞测试的链接变量修改值放入链接变量集合,于使用时,根据所需的范围区间,动态地从链接变量集合中取出合适的调整后的链接变量进行MD5运算。
在步骤S4中,将动态信息加入由步骤S3的MD5运算得到的第二加密数据中。其中,经过MD5运算得到的第二加密数据为128位散列值。具体而言,通过随机函数生成动态信息的位置信息,动态信息根据位置信息分布在整个MD5的128位散列的各个位置,使其扩展到152~168位,例如可以伪装成SHA1运算结果的160位数。或者,动态信息也可替换MD5运算结果中的某些位,让MD5运算结果保持在128位,其中,例如包括固定的9位表示实际动态信息在散列中的位置信息,从而完善MD5的动态性。
于此,动态信息包括动态数据的信息、动态加密规则的信息以及调整后的链接变量的信息。具体而言,将当前加密过程使用的动态数据的信息、动态加密规则的信息、MD5运算采用的调整后的链接变量的信息重新排列组合形成动态信息。上述得到的动态信息例如加入第二加密数据的字段末位。基于此,举例而言,在短信内容校验业务中,短信发送终端可采用本实施例提供的基于MD5的加密方法对短信内容进行加密(即短信发送时对短信内容加密传输),当后台服务器接收加密的短信内容后,提取动态信息,根据动态信息以相同的规则做加密处理,通过比对加密结果,判断短信内容是否被更改,以确保数据传输的安全性。
于步骤S4中,将得到的第三加密数据转换为可见字符。于此,采用自定义的90进制可见字符算法(即,以90个可见字符表示字符数据内容)进行字符转换。最终,得到加密结果,并将加密结果进行传输。
如图2所示,本发明较佳实施例提供的基于MD5的加密系统包括数据获取模块10、第一加密模块11、第二加密模块12以及第三加密模块13。数据获取模块10,用于获取原始待加密数据,添加动态数据;第一加密模块11,用于根据预定的动态加密规则对添加动态数据的原始待加密数据进行加密运算,得到第一加密数据,其中,所述动态加密规则包括加密算法、加密次数及加密算法执行顺序;第二加密模块12,用于根据调整后的链接变量对所述第一加密数据进行MD5运算,得到第二加密数据;第三加密模块13,用于将动态信息加入所述第二加密数据得到第三加密数据,将所述第三加密数据转换为可见字符,得到加密结果,其中,所述动态信息包括动态数据的信息、动态加密规则的信息以及所述调整后的链接变量的信息。
于较佳实施例中,动态数据由随机函数生成。
于较佳实施例中,第三加密数据包括动态信息在第三加密数据中的位置信息。
于较佳实施例中,动态加密规则的加密算法包括以下一种算法或其任意组合:AES算法、SHA1算法、RipeMD算法、Tiger算法、WhirlPool算法。
此外,关于所述加密系统的具体操作过程同上述加密方法所述,故于此不再赘述。
综上所述,本发明实施例提供的基于MD5的加密方法及系统,加密算法、加密次数均呈动态,并将相关动态信息分散在加密字符串的各个位置,采用多种动态方式,实现基于MD5的动态加密,增加了加密的安全性,从而满足安全性要求较高的业务需求。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。
Claims (8)
1.一种基于MD5的加密方法,其特征在于,包括以下步骤:
获取原始待加密数据,添加动态数据;
根据预定的动态加密规则对添加动态数据的原始待加密数据进行加密运算,得到第一加密数据,其中,所述动态加密规则包括加密算法、加密次数及加密算法执行顺序;
根据调整后的链接变量对所述第一加密数据进行MD5运算,得到第二加密数据;
将动态信息加入所述第二加密数据得到第三加密数据,将所述第三加密数据转换为可见字符,得到加密结果,其中,所述动态信息包括动态数据的信息、动态加密规则的信息以及所述调整后的链接变量的信息。
2.如权利要求1所述的基于MD5的加密方法,其特征在于:所述动态数据由随机函数生成。
3.如权利要求1所述的基于MD5的加密方法,其特征在于:所述第三加密数据包括所述动态信息在所述第三加密数据中的位置信息。
4.如权利要求1所述的基于MD5的加密方法,其特征在于:所述动态加密规则的加密算法包括以下一种算法或其任意组合:AES算法、SHA1算法、RipeMD算法、Tiger算法、WhirlPool算法。
5.一种基于MD5的加密系统,其特征在于,包括:数据获取模块、第一加密模块、第二加密模块以及第三加密模块,
所述数据获取模块,用于获取原始待加密数据,添加动态数据;
所述第一加密模块,用于根据预定的动态加密规则对添加动态数据的原始待加密数据进行加密运算,得到第一加密数据,其中,所述动态加密规则包括加密算法、加密次数及加密算法执行顺序;
所述第二加密模块,用于根据调整后的链接变量对所述第一加密数据进行MD5运算,得到第二加密数据;
所述第三加密模块,用于将动态信息加入所述第二加密数据得到第三加密数据,将所述第三加密数据转换为可见字符,得到加密结果,其中,所述动态信息包括动态数据的信息、动态加密规则的信息以及所述调整后的链接变量的信息。
6.如权利要求5所述的基于MD5的加密系统,其特征在于:所述动态数据由随机函数生成。
7.如权利要求5所述的基于MD5的加密系统,其特征在于:所述第三加密数据包括所述动态信息在所述第三加密数据中的位置信息。
8.如权利要求5所述的基于MD5的加密系统,其特征在于:所述动态加密规则的加密算法包括以下一种算法或其任意组合:AES算法、SHA1算法、RipeMD算法、Tiger算法、WhirlPool算法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510121671.8A CN104683111A (zh) | 2015-03-18 | 2015-03-18 | 一种基于md5的加密方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510121671.8A CN104683111A (zh) | 2015-03-18 | 2015-03-18 | 一种基于md5的加密方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104683111A true CN104683111A (zh) | 2015-06-03 |
Family
ID=53317745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510121671.8A Pending CN104683111A (zh) | 2015-03-18 | 2015-03-18 | 一种基于md5的加密方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104683111A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107864036A (zh) * | 2017-11-20 | 2018-03-30 | 安徽亿联智能有限公司 | 一种具有高安全性能的电脑读取盒子关键数据记录方式 |
CN109918877A (zh) * | 2019-03-21 | 2019-06-21 | 深圳市网心科技有限公司 | 一种数据加密方法、系统、客户端及计算机可读存储介质 |
WO2020164280A1 (zh) * | 2019-02-13 | 2020-08-20 | 平安科技(深圳)有限公司 | 数据传输加密方法、装置及存储介质、服务器 |
CN111681662A (zh) * | 2020-06-01 | 2020-09-18 | 科大讯飞股份有限公司 | 车内交互音频加密方法、装置及设备 |
CN113872753A (zh) * | 2021-12-01 | 2021-12-31 | 北京华云安信息技术有限公司 | 基于sha256序列形式的数据的加密传输方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070014400A1 (en) * | 1998-02-13 | 2007-01-18 | Wack C J | Cryptographic key split binder for use with tagged data elements |
CN101340279A (zh) * | 2008-07-09 | 2009-01-07 | 深圳市金蝶移动互联技术有限公司 | 数据加密及解密方法、系统及设备 |
-
2015
- 2015-03-18 CN CN201510121671.8A patent/CN104683111A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070014400A1 (en) * | 1998-02-13 | 2007-01-18 | Wack C J | Cryptographic key split binder for use with tagged data elements |
CN101340279A (zh) * | 2008-07-09 | 2009-01-07 | 深圳市金蝶移动互联技术有限公司 | 数据加密及解密方法、系统及设备 |
Non-Patent Citations (1)
Title |
---|
张越,陈跃,刘林飞: "改进MD5码增强网站密码安全性", 《当代医学》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107864036A (zh) * | 2017-11-20 | 2018-03-30 | 安徽亿联智能有限公司 | 一种具有高安全性能的电脑读取盒子关键数据记录方式 |
WO2020164280A1 (zh) * | 2019-02-13 | 2020-08-20 | 平安科技(深圳)有限公司 | 数据传输加密方法、装置及存储介质、服务器 |
CN109918877A (zh) * | 2019-03-21 | 2019-06-21 | 深圳市网心科技有限公司 | 一种数据加密方法、系统、客户端及计算机可读存储介质 |
CN111681662A (zh) * | 2020-06-01 | 2020-09-18 | 科大讯飞股份有限公司 | 车内交互音频加密方法、装置及设备 |
CN113872753A (zh) * | 2021-12-01 | 2021-12-31 | 北京华云安信息技术有限公司 | 基于sha256序列形式的数据的加密传输方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Aljawarneh et al. | A resource-efficient encryption algorithm for multimedia big data | |
Sherry et al. | Blindbox: Deep packet inspection over encrypted traffic | |
Bin Faheem et al. | Highly dispersive substitution box (S‐box) design using chaos | |
EP3134994B1 (en) | Method of obfuscating data | |
CN104683111A (zh) | 一种基于md5的加密方法及系统 | |
CN105306194A (zh) | 供加密档案和/或通讯协定的多重加密方法与系统 | |
CN110061967A (zh) | 业务数据提供方法、装置、设备及计算机可读存储介质 | |
CN105827582A (zh) | 一种通信加密方法、装置和系统 | |
CN113449338B (zh) | 基于区块链的信息加密存储方法及系统 | |
CN103414727A (zh) | 针对input密码输入框的加密保护系统及其使用方法 | |
CN103731423A (zh) | 一种安全的重复数据删除方法 | |
CN104038336A (zh) | 一种基于3des的数据加密方法 | |
CN108549824A (zh) | 一种数据脱敏方法及装置 | |
CN110995415A (zh) | 一种基于md5算法的加密算法 | |
CN109460646A (zh) | 用户身份识别方法、装置、系统、电子设备及可读介质 | |
CN106452790A (zh) | 一种无信任中心的多方量子数字签名方法 | |
CN102222188A (zh) | 一种信息系统用户密码的生成方法 | |
CN112749182B (zh) | 代理访问Oracle数据库的方法、审计终端、装置及计算机可读存储介质 | |
Rahman et al. | Chaos and logistic map based key generation technique for AES-driven IoT security | |
CN102946315A (zh) | 一种采用分组方式构造mac码的方法及系统 | |
Somaiya et al. | Implementation and evaluation of EMAES–A hybrid encryption algorithm for sharing multimedia files with more security and speed | |
CN102882675A (zh) | 社交网站用的密码加密方法 | |
CN104038337A (zh) | 一种基于aes128的数据加密方法 | |
CN117040750A (zh) | 证书请求文件的生成方法和装置、电子设备及存储介质 | |
CN106878985A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150603 |
|
RJ01 | Rejection of invention patent application after publication |