我熟悉的加密解密
(从网上找的关于MD5和Blowfish加密的简介,最近做项目时用到,贴出来和大家交流讨论一下)
MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2、MD3和MD4发展而来。
Message-Digest泛指字节串(Message)的Hash变换,就是把一个任意长度的字节串变换成一定长的大整数。请注意我使用了“字节串”而不是“字符串”这个词,是因为这种变换只与字节的值有关,与字符集或编码方式无关。
MD5将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点象不存在反函数的数学函数
Blowfish算法是一种取代了DES和IDEA的加密算法。它是一种对称(秘密或个人密钥)的分组密码,使用32位至448位的可变长度密钥,应用于内部加密或加密输出。(美国政府禁止加密输出软件使用40位以上的密钥,除非软件有特殊用途)。Blowfish算法是1993年由Bruce Schneier提出的备选加密方法。32位处理器的诞生后,Blowfish算法在加密速度上超越了DES,引起了人们的关注。Blowfish算法没有注册专利,不需要授权,人们可以免费使用。