MD5

2012-10-23 3 views
1

내가 MD5이 방법을 만드는 인증 방법 : e1adc3949ba59abbe56e057f2f883eMD5

나는 결과를 인증하는 다른 방법을 만들

: 입력 123456에 대한

public void encrypeUsername(String sessionid) 
    { 
     byte[] defaultBytes = sessionid.getBytes(); 
     try 
     { 
      MessageDigest algorithm = MessageDigest.getInstance("MD5"); 
      algorithm.reset(); 
      algorithm.update(defaultBytes); 
      byte messageDigest[] = algorithm.digest(); 

      StringBuffer hexString = new StringBuffer(); 
      for (int i = 0; i < messageDigest.length; i++) 
      { 
       hexString.append(Integer.toHexString(0xFF & messageDigest[i])); 
      } 
      System.out.println("sessionid " + sessionid + " md5 version is " + hexString.toString()); 
     } 
     catch (Exception e) 
     { 
      e.printStackTrace(); 
     } 



    } 

우리가 MD5 얻을 수 있습니다.

예를 들어, e1adc3949ba59abbe56e057f2f883e와 "123456"의 입력 값을 입력하면 결과가 true/false가됩니다.

어떻게하면 좋을까요?

감사합니다. 레이.

+0

어 ... 입력을 다시 암호화 하시겠습니까? – sje397

+0

나는 mybe가 더 빠른 알고리즘을 가지고 있다고 생각하고 다시 암호화하기 만했다. 감사. – rayman

답변

3
String pass = "123456"; 
String secret = "e1adc3949ba59abbe56e057f2f883e"; 
if encrypeUsername(pass).equals(secret) System.out.printl("ok!") 

md5는 단방향입니다. 비밀에서 비밀 번호를 다시 얻는 것은 어렵습니다.

(*) 약한 암호는 그리 힘들지 않습니다.

+0

이 효과가 있습니까? 이 메소드는'public void'로 정의되어 있으므로 비교할 문자열의 해시 버전을 반환하지 않습니다. – hnvasa