MD5 도구 클래스 (자바 구현 판)
2638 단어 java-se
소개 하 다.
MD5(Message Digest Algorithm) , , ,
。 Hash ( )。
MD5 알고리즘 은 다음 과 같은 특징 을 가지 고 있 습 니 다.
1、 : , MD5 。
2、 : MD5 ( )
3、 : , 1 , MD5 。
4、 : MD5 , MD5 ( ) 。
5、
자바 코드 구현
Md5Utils
/**
*
* MD5 ( hash , )
*
* @author xuyi3
* @2016 7 13 @ 3:10:54
* @Md5Utils
* @ :
* @
* @
*/
public class Md5Utils {
/** 16 */
private final static String[] hexDigits = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d",
"e", "f" };
/**
*
*
* @param source
*
* @param encoding
*
* @param uppercase
*
* @return
*/
public static String MD5Encode(String source, String encoding, boolean uppercase) {
String result = null;
try {
result = source;
// MD5
MessageDigest messageDigest = MessageDigest.getInstance("MD5");
//
messageDigest.update(result.getBytes(encoding));
// messageDigest.digest() 16
result = byteArrayToHexString(messageDigest.digest());
} catch (Exception e) {
e.printStackTrace();
}
return uppercase ? result.toUpperCase() : result;
}
/**
* 16
*
* @param bytes
*
* @return
*/
private static String byteArrayToHexString(byte[] bytes) {
StringBuilder stringBuilder = new StringBuilder();
for (byte tem : bytes) {
stringBuilder.append(byteToHexString(tem));
}
return stringBuilder.toString();
}
/**
* byte 16
*
* @param b
* byte
* @return 16
*/
private static String byteToHexString(byte b) {
int n = b;
if (n < 0) {
n = 256 + n;
}
int d1 = n / 16;
int d2 = n % 16;
return hexDigits[d1] + hexDigits[d2];
}
}
// : apache commones Codec
총결산
MD5 , 。
, MD5 ,
( ) RSA 。
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
MO_혹은 String 에 대한 깨 달 음코로나 19 사태 에 맞 서 싸우다 열사 와 돌아 가신 동포 들 이 희생 된 것 을 깊이 애도 하 다 머리말 총화 2.1 String 2.2 StringBuilder 2.3 StringBuffer 2.4 사용 필드 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.