2012-11-05 2 views
1

제 3 자 라이브러리를 사용하지 않고 Google 애플리케이션 엔진에서 비밀번호를 암호화하고 암호를 해독하려면 어떻게해야하나요?Google 앱 엔진의 비밀번호 암호화 및 해독

예가 무엇입니까?

+0

명백한 대답은 "직접 작성하십시오"입니다. 그것은 끔찍한 생각입니다. –

답변

11

비밀번호를 저장해야하는 방식으로 PBKDF2, SCrypt 또는로 안전하게 해시 되었기 때문에 사용자 보안을 염려하는 경우 제 3 자 라이브러리를 사용해야합니다. BCrypt - 예를 들어 this module을 사용하면 응용 프로그램에 쉽게 추가 할 수 있습니다.

암호는 암호를 암호화하므로 암호를 해독하지 않아야합니다. 대신 PBKDF2와 같은 알고리즘은 해싱을 사용하여 암호가 유효한지 확인할 수는 있지만 원래 암호는 복구 할 수 없습니다.

+0

소금을 사용한다고 가정 할 때 MD5 해시는 암호 해시에도 좋습니다. 구현하기도 쉽습니다. – Michael

+1

@Michael 아니요. 소금에 절인 해시가 너무 안전하지 않습니다. 항상 사용자 암호를 저장할 때 PBKDF2, SCrypt 또는 BCrypt와 같은 암호 해시 체계를 사용해야합니다. –

+0

약간의 연구 끝에 나는 MD5가 좋은 선택이 아니라는 것에 동의한다; 나는 소금에 절인 MD5 해쉬에 대한 당신의 입장이 "너무 안전하지 않다"고 주장한다. 성공한 소금에 절인 MD5 해시 공격에 대한 기록을 찾을 수 없었습니다. LinkedIn은 무질서한 MD5 해시에 문제가있었습니다. 소금을 유지하면 (또는 소금이 두 가지 더 나을 때 하나는 클라이언트에 적용되고 다른 하나는 서버에 첫 번째 해시에 적용됨) 이것이 완화됩니다. 다른 해시의 장점은 더 많은 계산이 필요하다는 것 (시간이 지남에 따라 더 많은 계산을 계속할 수있는 능력이 있음)입니다. – Michael