当前位置: 编程技术>java/j2ee
java开发之MD5加密算法的实现
来源: 互联网 发布时间:2014-10-24
本文导语: 先看看代码再说: 代码如下:package com.b510.note; import java.math.BigInteger; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /** * MD5加密 * * @author Hongten * */ public class MD5 { public static void main(String[] args) {...
先看看代码再说:
package com.b510.note;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
/**
* MD5加密
*
* @author Hongten
*
*/
public class MD5 {
public static void main(String[] args) {
System.out.println(MD5.getMD5("123456"));
}
/**
* 用md5编码后的码值
*
* @param sInput
* 明码
* @return md5加密后的密码
*/
public static String getMD5(String sInput) {
String algorithm = "";
if (sInput == null) {
return "null";
}
try {
algorithm = System.getProperty("MD5.algorithm", "MD5");
} catch (SecurityException se) {
}
MessageDigest md = null;
try {
md = MessageDigest.getInstance(algorithm);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
byte buffer[] = sInput.getBytes();
for (int count = 0; count < sInput.length(); count++) {
md.update(buffer, 0, count);
}
byte bDigest[] = md.digest();
BigInteger bi = new BigInteger(bDigest);
return (bi.toString(16));
}
}
运行效果:
1 186d636867f51c667893c1b1b3d96dc3
我们可以根据自己的需要,来得到自己想要的md5加密后的密文;
1 //这里的数字是可以根据需要而进行改变的
2 return (bi.toString(16));
代码如下:
package com.b510.note;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
/**
* MD5加密
*
* @author Hongten
*
*/
public class MD5 {
public static void main(String[] args) {
System.out.println(MD5.getMD5("123456"));
}
/**
* 用md5编码后的码值
*
* @param sInput
* 明码
* @return md5加密后的密码
*/
public static String getMD5(String sInput) {
String algorithm = "";
if (sInput == null) {
return "null";
}
try {
algorithm = System.getProperty("MD5.algorithm", "MD5");
} catch (SecurityException se) {
}
MessageDigest md = null;
try {
md = MessageDigest.getInstance(algorithm);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
byte buffer[] = sInput.getBytes();
for (int count = 0; count < sInput.length(); count++) {
md.update(buffer, 0, count);
}
byte bDigest[] = md.digest();
BigInteger bi = new BigInteger(bDigest);
return (bi.toString(16));
}
}
运行效果:
代码如下:
1 186d636867f51c667893c1b1b3d96dc3
我们可以根据自己的需要,来得到自己想要的md5加密后的密文;
代码如下:
1 //这里的数字是可以根据需要而进行改变的
2 return (bi.toString(16));