456手机浏览器 >> 软件 >> 浏览文章

md5是什么

MD5是一种网络加密技术,对于程序员来说肯定不陌生,因为它们会经常用到MD5对网站密码,涉及到用户隐私的一些信息进行加密,但是对于不是搞网络的人来说,MD5可能就非常的陌生,今天小编就MD5是什么和大家一起来探讨下。
 
MD5是什么?
 
MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。
将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。
 
MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的十六进制数字串)。除了MD5以外,其中比较有名的还有sha-1、RIPEMD以及Haval等。
 
MD5有一个优点,它就是单向加密技术,也就是说,MD5密码是不可以解密的,所以想通过单向解密的方法来解密MD5是不可能的,但是MD5有个缺点,就是一个字符MD5加密密码是一成不变的,比如123456的32位MD5大写:E10ADC3949BA59ABBE56E057F20F883E 那么12345的32位MD5就是E10ADC3949BA59ABBE56E057F20F883E,它们是对应的,所以,有些人就通过程序生成了庞大的MD5字典,通过查询MD5值对应的字符,即可轻松知道其对应的密码。
 
简单的说,MD5就是网络加密技术的一种,就是把一个任意字符组成的普通的密码,通过MD5算法,换成一定长的十六进制数字串。比如一个密码为:123456 通过MD5加密后就变成了:
 
常规         md5加密($pass) 
32位MD5大写:E10ADC3949BA59ABBE56E057F20F883E
32位MD5小写:e10adc3949ba59abbe56e057f20f883e
16位MD5大写:49BA59ABBE56E057
16位MD5小写:49ba59abbe56e057
 
从上面的数字可以看出,一个密码可以换成32位和16位MD5二种密码,32位MD5的密码一共有32个数字,较之16位的MD5肯定安全性要高。但是要真正的达到安全,网络程序员们可以考虑在密码进行MD5加密之前,再进行一些其他方式的加密,可以提高MD5密码的***难度。