MD5加密即Message-Digest Algorithm 5(信息-摘要算法),是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式,由MIT Laboratory for Computer Science和RSA Data Security Inc的Ronald L. Rivest于1991年开发,经MD2、MD3和MD4发展而来。 ---摘自搜狗百科
代码实现:本实现代码采用面向对象编程
主方法:
public class MD5 {
private static final String HEX_NUMS_STR="0123456789ABCDEF";
private static final int SALT_LENGHT=12;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要加密的数");
String s = scanner.next();
String md5Str = getMD5Str(s);
System.out.println(md5Str);
}
下面的方法都在同一个类中,一下不在声明,大家可以直接粘贴直接使用
/**
* 将16进制字符串转化为数组
* @param hex
* @return
*/
public static byte[]hexStringToByte(String hex){
int len =(hex.length()/2);
byte[]result = new byte[len];
char[]hexChars = hex.toCharArray();
for (int i = 0;i<len;i++){
int pos = i*2;
result[i] = (byte) (HEX_NUMS_STR.indexOf(hexChars[pos]) << 4
| HEX_NUMS_STR.indexOf(hexChars[pos + 1]));
}
return result;
}
/**
*将指定byte数组转化成16进制字符串
* @param b
* @return
*/
public static String byteToHexString(byte[]b){
StringBuffer hexString = new StringBuffer();
for (int i = 0; i < b.length; i++) {
String hex = Integer.toHexString(b[i]& 0xFF);
if (hex.length()==1){
hex='0'+hex;
}
hexString.append(hex.toUpperCase());
}
return hexString.toString();
}
MD5加密介绍 MD5加密即Message-Digest Algorithm 5(信息-摘要算法),是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式,由MIT Laboratory for Computer Science和RSA Data Security Inc的Ronald L. Rivest于1991年开发,经MD2、MD3和MD4发展而来。 ---...