MD5和Base64介绍与应用

MD5:
概念:
MD5是一种不可逆的消息摘要算法。为计算机安全领域广泛使⽤的一种散列函数,
用以提供消息的完整性保护。
效果:
把一个任意长度的字节串变换成⼀定⻓度的⼗六进制数字串。
目的是让⼤容量信息在⽤数字签名软件签署私⼈密钥前被"压缩"成⼀种保密的格式。
应用:
1、一致性验证:
    从网上下载⽂件,软件,各种资料的时候,有些文件会提供MD5对照信息。利⽤MD5校验软件来核对下载的⽂件,以此观测下载得到的文件与传送者是否相符。
   利用MD5算法来进⾏文件校验的方案被大量应用到软件下载站、论坛数据库、系统文件安全等⽅方⾯面

2、数字证书:
    对一段Message(字节串)产生fingerprint(指纹),以防止被"篡改”。举个例子,你将一段话写在一个叫readme.txt文件中,并对这个readme.txt产生一个MD5的值并记录在案,然后你可以传播这个文件给别人别人如果修改了文件中的任何内容,你对这个文件重新计算MD5时就会发现。如果再有一个第三方的认证机构,用MD5还可以防止文件作者的"抵赖",这 就是所谓的数字签名应用。
3、安全访问认证:
       用于操作系统的登陆认证上。当用户登录的时候,系统把⽤户输入的密码进⾏MD5 Hash运算,然后再去和保存在文件系统中的MD5值进⾏比较, 进⽽确定输⼊的密码是否正确。
    通过这样的步骤,系统在并不知道用户密码的明码的情况下就可以确定用户登录系统的合法性。这可以避免⽤户的密码被具有系统管理员权限的用户知道。

2004年8月17日的美国加州圣巴拉的国际密码学会议上,来⾃自中国山东⼤学的王小云教授做了破译MD5、HAVAL-128、MD4和RIPEMD算法的报告,公布了MD系列算法的破解结果。宣告了固若⾦汤的世界通⾏密码标准MD5的堡垒轰然倒塌,引发了密码学界的轩然⼤大波 。
    那我们使用MD5还安全吗?这个不必担心,以下是理由:
    1、我们的牛⼈⺩同学做的成效是查找碰撞,并不是可以反推。MD5是⽤来获取信息摘要的,主要用途是防篡改。而这项工作很难做到篡改信息,并保持MD5不变。
    2、硬件设备要求特别高,并且程序得到的只是碰撞 ,如果你要根据已知文件,去构造一个相同MD5, 并且是内容不同的有效文件,更是难上难。
    3、MD5算法的使用不需要支付任何版权费⽤的,所以在一般的情况下(非绝密 应用领域)怎么都算得上是非常安全的了。

Base64

概念:
Base64是一种基于64个可打印字符来表示二进制数据的表示方法。Base64是一种编码方式。
效果:
Base64编码的思想是是采用64个基本的ASCII码字符对数据进行重新编码。
采用Base64编码具有不可读性,即所编码的数据不会被人用肉眼所直接看到。
应用:
Base64主要用于将二进制数据转换为文本数据,方便使用HTTP协议等,是可逆的。处理文本数据的场合,表示、传输、存储一些二进制数据。包括MIME的email,email via MIME,在XML中存储复杂数据.
 
注意:base64的主要作用不是加密,而是用来避免“字节”中不能转换成可显示字符的数值。

上一篇:Mac 安装 MySQL


下一篇:2016年12月2日 星期五 --出埃及记 Exodus 20:23