Java 생성 MD5 암호화 문자열 코드 인스턴스

(1) 일반적으로 사용되는 데이터베이스에는 사용자 이름과 암호가 저장되며 암호는 암호로 저장되지 않습니다.
때때로 MD5 암호를 사용하면 많은 언어에서 문자열을 MD5 암호로 생성하는 방법이나 함수를 제공합니다.MD5의 암호화 알고리즘은 공개됩니다.
때때로 자신의 문자열 암호화 알고리즘을 사용할 수도 있는데, 이런 암호화 알고리즘은 자신만 알고 있다.
(2) MD5를 해독하는 과정은 대량이나 모든 가능한 문자열의 MD5 수치를 계산한 후에 조회하면 해독할 수 있다.일부 사이트에서는 비밀번호의 자릿수가 6~20위 사이라고 규정하고 있지만 이렇게 많은 문자열을 미리 계산하고 효과적인 조직 저장, 조회를 하는 것은 상당히 번거롭고 느리다.
D5의 비트는 고정되어 있기 때문이다. 예를 들어 16, 32, 64, 문자열의 조합과 길이는 끝이 없기 때문에 충돌이 있다.그러나 암호화 전 문자열의 길이가 고정된 범위가 있다는 것을 알면, 예를 들어 6~20, 이것도 풀 수 있다.
하지만 암호화 전 문자의 길이를 모르면 끝이 없다.아직 아무도 풀 수 없을 것 같은데.
MD5 암호 해독 사이트: 바이두 검색 가능 "MD5 복호화"
(3) 아래에는 주어진 문자열의 MD5 암호를 생성하는 자바 모듈 프로그램이 있습니다.

import java.security.MessageDigest;
public class Md5Test {
  
  public void toMD5(String plainText) {
   try {
    //  MessageDigest  。
    MessageDigest md = MessageDigest.getInstance("MD5"); 
    // 。
    md.update(plainText.getBytes());
    // 。
    byte b[] = md.digest();
    // md5 buf 
    int i;
    StringBuffer buf = new StringBuffer("");
    for (int offset = 0; offset < b.length; offset++) {
     i = b[offset];
     if (i < 0)
      i += 256;
     if (i < 16)
      buf.append("0");
     buf.append(Integer.toHexString(i));
    }
    System.out.println("32 : " + buf.toString());// 32 
    System.out.println("16 : " + buf.toString().substring(8, 24));// 16 , 32 
   } 
   catch (Exception e) {
    e.printStackTrace();
   }
  }
 
  public static void main(String agrs[]) {
    new Md5Test().toMD5("LXD");// LXD
  }
}
PS: 여기에 MD5 암호화 도구 2가지를 더 제공하니 관심 있는 분들은 참고하시기 바랍니다.
MD5 온라인 암호화 도구:
http://tools.jb51.net/password/CreateMD5Password
온라인 MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160 암호화 도구:
http://tools.jb51.net/password/hash_md5_sha

좋은 웹페이지 즐겨찾기