다음과 같이 코드 코드를 복사합니다.
/**
* MD5 암호화 구현
*
*/
공개 클래스 MD5 {
/**
* 암호화된 문자열을 가져옵니다
* @param 입력
* @반품
*/
공개 정적 문자열 stringMD5(문자열 비밀번호) {
노력하다 {
// MD5 변환기 가져오기(SHA1 매개변수를 "SHA1"로 변경하려는 경우)
MessageDigest messageDigest =MessageDigest.getInstance("MD5");
//입력 문자열을 바이트 배열로 변환
byte[] inputByteArray = pw.getBytes();
// inputByteArray는 입력 문자열에서 변환된 바이트 배열입니다.
messageDigest.update(inputByteArray);
// 16개 요소를 포함하는 바이트 배열이기도 한 결과를 변환하고 반환합니다.
byte[] resultByteArray = messageDigest.digest();
// 문자 배열을 문자열로 변환하고 반환합니다.
byteArrayToHex(resultByteArray)를 반환합니다.
} 잡기(NoSuchAlgorithmException e) {
null을 반환;
}
}
공개 정적 문자열 byteArrayToHex(byte[] byteArray) {
// 먼저 각 16진수 문자를 저장하기 위해 문자 배열을 초기화합니다.
char[] hexDigits = {'0','1','2','3','4','5','6','7','8','9', 'A', 'B','C','D','E','F' };
// 새 문자 배열, 이는 결과 문자열을 형성하는 데 사용됩니다(설명: 바이트는 8비트 바이너리, 즉 2개의 16진수 문자입니다(2의 8승은 16의 2승과 같습니다)).
char[] resultCharArray =new char[byteArray.length * 2];
// 바이트 배열을 탐색하고 비트 연산을 통해 문자로 변환하고(비트 연산은 매우 효율적임) 문자 배열에 넣습니다.
정수 인덱스 = 0;
for (바이트 b : byteArray) {
resultCharArray[index++] = hexDigits[b>>> 4 & 0xf];
resultCharArray[index++] = hexDigits[b& 0xf];
}
// 문자 배열을 문자열로 결합하고 반환합니다.
새로운 문자열을 반환(resultCharArray);
}
}
추신: 암호화 기술과 관련하여 이 사이트는 참고용으로 다음 암호화 도구도 제공합니다.
MD5 온라인 암호화 도구: http://tools.VeVB.COm/password/CreateMD5Password
이스케이프 암호화/복호화 도구: http://tools.VeVB.COm/password/escapepwd
온라인 SHA1 암호화 도구: http://tools.VeVB.COm/password/sha1encode
단축 링크(단축 URL) 온라인 생성 도구: http://tools.VeVB.COm/password/dwzcreate
짧은 링크(짧은 URL) 온라인 복원 도구: http://tools.VeVB.COm/password/unshorturl
강력한 비밀번호 생성기: http://tools.VeVB.COm/password/CreateStrongPassword