1.算法简介
本文主要对MD5算法,BASE64算法,DES算法和PBE算法的java实现进行介绍。
MD5即Message-Digest Algorithm 5(信息-摘要算法5),是对一段信息(Message)产生信息摘要(Message-Digest),以防止被篡改。目前,MD5算法可以通过杂凑冲撞方法经破解。
Base64是网络上最常见的用于传输8Bit字节码的编码方式之一。严格上讲Base64只是一种编码方式,不能算是加密方法。Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息。
DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法,同时它也是一种对称加密算法。它有3个入口参数:Key、Data、Mode。其中Key为7个字节共56位,是DES算法的工作密钥;Data为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。
PBE算法(Password Based Encryption,基于口令加密)是一种基于口令的加密算法,其特点是使用口令代替了密钥,而口令由用户自己掌管,采用随机数杂凑多重加密等方法保证数据的安全性。将用户输入的口令首先通过“盐”(salt)的扰乱产生准密钥,再将准密钥经过散列函数多次迭代后生成最终加密密钥,密钥生成后,PBE算法再选用对称加密算法对数据进行加密,可以选择DES、3DES、RC5等对称加密算法.
2.算法实现
MD5可以用java自带函数库实现,Base64、DES、PBE需要导入包commons-codec-1.11.jar。
import java.io.*;
import java