2012-05-01 2 views
1

다음 코드를 사용하여 MD5 및 Im으로 웹 페이지의 보안을 암호화하고 있습니다. 암호 암호화/복호화 봄 보안

public static String stringToMD5(String password) 
    { 

     MessageDigest messageDigest; 

     try { 
      messageDigest = MessageDigest.getInstance("MD5"); 
      messageDigest.update(password.getBytes(),0, password.length()); 
      String hashedPass = new BigInteger(1,messageDigest.digest()).toString(16); 
      if (hashedPass.length() < 32) { 
       hashedPass = "0" + hashedPass; 
      } 
      return hashedPass; 
     } catch (NoSuchAlgorithmException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     return password; 
    } 

그러나 사용자 정의 AbstractAuthenticationProcessingFilter을 개발하기 위해 내가 가진 지금은 MD5 것을 해독 할에서 사용자 지정 방법은 로그인 할 수 있기 때문에

.

그래서 문제는 어떻게 그 함수에 의해 생성 된 해독하는 것입니다.

미리 감사드립니다.

답변

2

MD5는 단방향 알고리즘입니다. 이것은 일대일 매핑이 아닙니다. 출력을 해독 할 방법이 없습니다.

저장된 MD5 암호화 된 암호로 작업 할 때 입력을 암호화하고 저장된 암호화 된 암호와 비교하여 사용자를 인증해야합니다.

+0

스프링 보안 ()에 의해 암호가 해독 될 수있는 암호를 암호화하는 다른 방법이 있습니까 ?? – IturPablo

+0

http://static.springsource.org/spring-security/site/docs/3.0.x/apidocs/org/springframework/security/authentication/encoding/PasswordEncoder.html에서 인용 : "* MD5 나 SHA와 같은 * way 메시지 다이제스트 일 수도 있지만, 인코딩을하지 않고 피드 된 것과 동일한 비밀번호를 반환하는 일반 텍스트 변형 일 수도 있습니다. 후자는 원본 비밀번호를 as- 입니다. " –

+0

감사 드미트리 (Dmitry), 스프링 보안은 암호 인코더 MD5 - SHA 편도 암호화 만 지원합니다. 내가 맞습니까? 어떤 방법 으로든 감사합니다. – IturPablo