MD5的用法之加密

来源:互联网 发布:sql 3个引号 编辑:程序博客网 时间:2024/04/29 05:47
public static final String encodeHex(byte[] bytes) {StringBuffer buf = new StringBuffer(bytes.length * 2);int i;for (i = 0; i < bytes.length; i++) {if (((int) bytes[i] & 0xff) < 0x10) {buf.append("0");}buf.append(Long.toString((int) bytes[i] & 0xff, 16));}return buf.toString();}


 

 
try {MessageDigest md = MessageDigest.getInstance("MD5");md.update("test".getBytes());byte[] digest = md.digest();System.out.println(encodeHex(digest));} catch (NoSuchAlgorithmException e) {e.printStackTrace();}


 

 

简单应用:

public String md5(String toChapter) {String str = "";try {MessageDigest md = MessageDigest.getInstance("MD5");md.update(toChapter.getBytes());byte[] buf = md.digest(toChapter.getBytes());BigInteger bi = new BigInteger(buf);str = bi.toString(36);// 36进制数的字符串形式} catch (NoSuchAlgorithmException e) {e.printStackTrace();}return str;}

调用:

System.out.println(high.md5("-3i6yl6rk0wpuvopdqpal6y8v9"));System.out.println(high.md5("中文").equals(high.md5("中文")));