Java中如何实现MD5加密算法?
- 内容介绍
- 文章标签
- 相关推荐
本文共计259个文字,预计阅读时间需要2分钟。
MD5加密,忘记是从哪里复制来的了。以下是一个简单的MD5加密工具类:
javaimport java.math.BigInteger;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;
/** * MD5加密工具类 * @author xuzhen */public class EncryptionUtils {
/** * 对字符串进行MD5加密 * @param text 待加密的字符串 * @return 加密后的字符串 */ public static String md5(String text) { try { MessageDigest md=MessageDigest.getInstance(MD5); md.update(text.getBytes()); byte[] digest=md.digest(); BigInteger no=new BigInteger(1, digest); String hashtext=no.toString(16); while (hashtext.length() <32) { hashtext=0 + hashtext; } return hashtext; } catch (NoSuchAlgorithmException e) { throw new RuntimeException(MD5加密算法不可用, e); } }}
import java.math.BigInteger; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /** * 加密工具类 * @author xuzhen * */ public class EncryptionUtils { /** * md5 加密 * @param str * @return * @throws NoSuchAlgorithmException */ public static String md5(String str){ // 生成一个MD5加密计算摘要 MessageDigest md; try { md = MessageDigest.getInstance("MD5"); // 计算md5函数 md.update(str.getBytes()); // digest()最后确定返回md5 hash值,返回值为8为字符串。因为md5 hash值是16位的hex值,实际上就是8位的字符 // BigInteger函数则将8位的字符串转换成16位hex值,用字符串来表示;得到字符串形式的hash值 return new BigInteger(1, md.digest()).toString(16); } catch (NoSuchAlgorithmException e) { // TODO Auto-generated catch block e.printStackTrace(); } throw new RuntimeException("MD5加密错误!"); } }
本文共计259个文字,预计阅读时间需要2分钟。
MD5加密,忘记是从哪里复制来的了。以下是一个简单的MD5加密工具类:
javaimport java.math.BigInteger;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;
/** * MD5加密工具类 * @author xuzhen */public class EncryptionUtils {
/** * 对字符串进行MD5加密 * @param text 待加密的字符串 * @return 加密后的字符串 */ public static String md5(String text) { try { MessageDigest md=MessageDigest.getInstance(MD5); md.update(text.getBytes()); byte[] digest=md.digest(); BigInteger no=new BigInteger(1, digest); String hashtext=no.toString(16); while (hashtext.length() <32) { hashtext=0 + hashtext; } return hashtext; } catch (NoSuchAlgorithmException e) { throw new RuntimeException(MD5加密算法不可用, e); } }}
import java.math.BigInteger; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /** * 加密工具类 * @author xuzhen * */ public class EncryptionUtils { /** * md5 加密 * @param str * @return * @throws NoSuchAlgorithmException */ public static String md5(String str){ // 生成一个MD5加密计算摘要 MessageDigest md; try { md = MessageDigest.getInstance("MD5"); // 计算md5函数 md.update(str.getBytes()); // digest()最后确定返回md5 hash值,返回值为8为字符串。因为md5 hash值是16位的hex值,实际上就是8位的字符 // BigInteger函数则将8位的字符串转换成16位hex值,用字符串来表示;得到字符串形式的hash值 return new BigInteger(1, md.digest()).toString(16); } catch (NoSuchAlgorithmException e) { // TODO Auto-generated catch block e.printStackTrace(); } throw new RuntimeException("MD5加密错误!"); } }

