class="java" name="code">package com.supan.md5; import java.security.*; import java.util.logging.Level; import java.util.logging.Logger; public class Md5 { public String md5(String str) { String s = str; if (s == null) //如果传过来的字符串为空,那么返回空字符串作为密码 { return ""; } else { String value = null; MessageDigest md5 = null; //MessageDigest // 类为应用程序提供信息摘要算法的功能,如 MD5 或SHA 算法。信息摘要是安全的单向哈希函数,它接收任意大小的数据,并输出固定长度的哈希值。 try { md5 = MessageDigest.getInstance("MD5"); //也可以是SHA } catch (NoSuchAlgorithmException ex) { Logger.getLogger(Md5.class.getName()).log(Level.SEVERE, null, ex); } sun.misc.BASE64Encoder baseEncoder = new sun.misc.BASE64Encoder(); try { value = baseEncoder.encode(md5.digest(s.getBytes("utf-8"))); } catch (Exception ex) { } return value; } } public static void main(String[] args) { String mingwen = "chenchaoyang"; System.out.println("明文chenchaoyang的密文是:" + new Md5().md5("chenchaoyang123")); } }