2013-10-14 2 views
6

글래스 피쉬 4의 암호 암호화 알고리즘과 다이제스트 알고리즘의 차이점은 무엇입니까? 암호 암호화 알고리즘을 비워 둘 수 없으므로 MD5를 사용했고 인코딩은 16 진수를 사용했습니다. 다이제스트 알고리즘이 비어 있으므로 기본값은 SHA-256입니다.글래스 피쉬 4 - JDBC 영역

그러나 JAAS를 사용하여 간단한 로그인 응용 프로그램을 만들고 테이블을 만들고 한 사용자를 삽입하면 MD5로 암호가 암호화되므로 사용자가 로그인 할 수 없습니다. SHA-256으로 암호를 암호화하면 사용자 로그인 할 수 있습니다.

암호 암호화 알고리즘 필드 란 무엇입니까?

+0

나는 4.0에서 4.1.1로 이주 문제를 겪고 http://stackoverflow.com/questions/40686737/migration-from-glassfish-4-0-to-glassfish-4-1-1-jdbc-realm -issue – Bikram

+0

SHA-256은 암호 확인 프로그램에서 MD5보다 약간 더 우수하며 사용하지 않아야합니다. 패스워드 검증기를 저장할 때 해시 함수만으로는 충분하지 않고 단지 소금을 추가하면 보안을 향상시키는 데별로 도움이되지 않습니다. 그 대신'PBKDF2','Rfc2898DeriveBytes','Argon2','password_hash','Bcrypt' 또는 유사한 함수를 사용하십시오. 요점은 공격자가 무차별 한 암호를 찾기 위해 상당한 시간을 소비하게하는 것입니다. – zaph

답변

2

문서는이 시점에서 명확하지 않지만 내 해석은 다음과 같습니다. 이는 Glassfish v4 reference manual을 기반으로합니다.

암호 암호화 알고리즘에 따라 데이터베이스 내의 암호 이 암호화됩니다.. 이 매개 변수는 digestrealm-password-enc-algorithm입니다. 물론 암호를 데이터베이스의 암호를 보안 허점으로 남겨두기 때문에이 설정이 필요합니다. 누군가가 인증을 시도 할 때

는, 글래스 피쉬는 데이터베이스에 무엇에 제출 한 것을 비교하는 방법이 필요합니다. 그러나 후자는 모두 잠겨 있기 때문에 잠금을 해제하려면 키가 있어야합니다. 해당 키에 사용 된 암호화 (엄격히 해시)는 다이제스트 알고리즘 (매개 변수 digest-algorithm)에 정의되어 있습니다. v4에서는 SHA-256으로 기본 설정됩니다 (이전에는 MD5였습니다).

0

비밀번호 암호화 알고리즘이란 무엇입니까?

다이제스트 알고리즘은 로그인 요청을 암호화/해시하는 데 사용되며 암호 암호화 알고리즘은 db에서 암호를 해독하는 데 사용됩니다. 내가 JAAS와 간단한 로그인 응용 프로그램을 만들어, 그리고, 테이블을 생성 한 사용자를 삽입하고, 암호를 MD5로 암호화 된 경우

단, 사용자가 로그인 할 수 없습니다.

넣어 MD5 비밀번호 암호화 필드에 입력하고 다이제스트 알고리즘을 비워 둡니다 (기본적으로 GlassFish 4에서는 sha-256 임).

+0

나는 이것을했으나 로그인을 원한다면 작동하지 않는다. 그래서? 그러나 암호 필드를 SHA-256으로 인코딩 된 암호로 변경하면 작동합니다. – galovics

+0

안녕하세요, 문제를 해결할 수 있었습니까? MD5를 두 곳 모두에 넣고 다시 시도 할 수 있습니까? (데이터베이스에 MD5 해시 된 암호 사용). SHA-256 및 MD5 모두 암호화를 글래스 피쉬 OSE 4.0와 MySQL과 함께, 여기에 잘 작동하고 있습니다. MD5 해시 텍스트 (20) 플레이 스테이션 만들어진 클러스터 단지 힘으로 금이 되었기 때문에 어쨌든,이 SHA-256과 함께 일하고 있다면 당신은 고수해야 .. SHA-256 '안전'입니다 그것을 해독하는 데 더 많은 시간을 소요하기 때문에 그것. –