JavaによるMD 5暗号化
4038 ワード
Java独自のMessageDigestクラスを使用すると簡単にMD 5暗号化が実現できますが、暗号化後に得られるのはbyte配列で、16進数の文字に変換する必要があります.
コードは次のとおりです.
コードは次のとおりです.
package com.stepsoft.test;
import java.security.MessageDigest;
/***
*
* @author Sam <br />
*
*
*/
public class Encrypter {
private static final char[] HEX_DIGITS = { '0', '1', '2', '3', '4', '5',
'6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
/***
* MD5
*
* @param text
* ,
* @return, md5
*/
public static String md5(String text) {
try {
byte[] input = text.getBytes();
// MD5 MessageDigest
MessageDigest mdInst = MessageDigest.getInstance("MD5");
//
mdInst.update(input);
//
byte[] md = mdInst.digest();
//
int j = md.length;
char str[] = new char[j * 2];
int k = 0;
for (int i = 0; i < j; i++) {
byte byte0 = md[i];
str[k++] = HEX_DIGITS[byte0 >>> 4 & 0xf];
str[k++] = HEX_DIGITS[byte0 & 0xf];
}
return new String(str);
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}