این الگوریتم رمزنگاری در سال ۱۹۹۴ توسط رونالد ویست معرفی شده در زیر یک مثال از این الگوریتم رمزنگاری در زبان جاوا برای استفاده معرفی میشود
It will use MD5 hashing algorithm to generate a hash value for a password “123456″.
package com.j2eelist.security; import java.security.MessageDigest; public class MD5HashingExample { public static void main(String[] args)throws Exception { String password = "123456"; MessageDigest md = MessageDigest.getInstance("MD5"); md.update(password.getBytes()); byte byteData[] = md.digest(); //convert the byte to hex format method 1 StringBuffer sb = new StringBuffer(); for (int i = 0; i < byteData.length; i++) { sb.append(Integer.toString((byteData[i] & 0xff) + 0x100, 16).substring(1)); } System.out.println("Digest(in hex format):: " + sb.toString()); //convert the byte to hex format method 2 StringBuffer hexString = new StringBuffer(); for (int i=0;i<byteData.length;i++) { String hex=Integer.toHexString(0xff & byteData[i]); if(hex.length()==1) hexString.append('0'); hexString.append(hex); } System.out.println("Digest(in hex format):: " + hexString.toString()); } }
Output
Digest(in hex format):: e10adc3949ba59abbe56e057f20f883e Digest(in hex format):: e10adc3949ba59abbe56e057f20f883e
import java.security.MessageDigest; public class SHAHashingExample { public static void main(String[] args)throws Exception { String password = "123456"; MessageDigest md = MessageDigest.getInstance("SHA-256"); md.update(password.getBytes()); byte byteData[] = md.digest(); //convert the byte to hex format method 1 StringBuffer sb = new StringBuffer(); for (int i = 0; i < byteData.length; i++) { sb.append(Integer.toString((byteData[i] & 0xff) + 0x100, 16).substring(1)); } System.out.println("Hex format : " + sb.toString()); //convert the byte to hex format method 2 StringBuffer hexString = new StringBuffer(); for (int i=0;i<byteData.length;i++) { String hex=Integer.toHexString(0xff & byteData[i]); if(hex.length()==1) hexString.append('0'); hexString.append(hex); } System.out.println("Hex format : " + hexString.toString()); } }
Reference
1. http://en.wikipedia.org/wiki/MD5
2. http://forums.sun.com/thread.jspa?threadID=5169003