在Java中可以用MessageDigest這個類進行操作。
下面通過代碼來進行解釋:
public static String EncoderByMd5(String str) throws Exception { MessageDigest md5=MessageDigest.getInstance("md5");//返回實現指定摘要算法的 MessageDigest 對象。 md5.update(str.getBytes());//先將字符串轉換成byte數組,再用byte 數組更新摘要 byte[] nStr = md5.digest();//哈希計算,即加密 return bytes2Hex(nStr);//加密的結果是byte數組,將byte數組轉換成字符串 }
下面是bytes2Hex(...)的具體代碼:
private static String bytes2Hex(byte[] bts) { String des = ""; String tmp = null; for (int i = 0; i < bts.length; i++) { tmp = (Integer.toHexString(bts[i] & 0xFF)); if (tmp.length() == 1) { des += "0"; } des += tmp; } return des; }
另:在JavaScript中貌似沒有類似的方法,所以只能自己實現了。網上有很多已發布的,這里就不引用了。
這是JavaScript加密字符串的頁面:http://e24113.sinaapp.com/md5.html