2013-06-05 1 views
1

나는 로그인/가입 양식을 포함한 자바 프로그램을 만드는 학교 프로젝트를 진행하고 있습니다.비밀번호에 사용할 내장 자바 해시 함수

학교용이므로 jBcrypt 또는 기타 강력한 해시 기능과 같은 제 3 자 라이브러리는 포함하지 않아야합니다. java.security.random의 sha256을 사용하여 사용자 당 하나의 소금을 생성하는 것에 대해 생각하지만 패스워드에 사용할 해싱 함수가 무엇인지 알지 못합니다. 비트가 약하기 때문에 sha256/512를 한 번만 반복하고 싶지 않습니다. bcrypt와 다른 것들이 존재한다면 sha256/512를 100 회 반복하여 for 루프를 만들고 싶지는 않습니다. 왜냐하면 sha를 반복하는 것만으로는 충분하지 않기 때문입니다. (그리고 나 자신이 암호화를 다시 시도하는 것은 항상 나쁜 생각이기 때문에).

암호를 저장하려면 내장 해시 기능을 사용해야합니까?

NB. 나는이 경우 (학교 프로젝트) 로그인 데이터가 아주 좋은 보안을받을 자격이 없다는 것을 안다. (물론 내 과목에서 요구하지도 않는다.) 가능한 한 좋은 결과를 얻고 싶다. 그래서 대답하지 마라. md5/sha512 해시는 그러한 상황에 충분할 것입니다.

+0

http://stackoverflow.com/questions/10012918/pbe-verify-password-before-attempting-to-decrypt –

+0

기존의 스택 오버플로 질문을 검색 할 비 상용 유래 검색 엔진을 사용하여 . URL은 www.google.com입니다. – DwB

답변

1

SHA256 및 512를 암호로 사용하는 방법을 연구하고 소금에 신경을 쓰는 것이 좋습니다.

http://www.jasypt.org/howtoencryptuserpasswords.html

"6. Java로 작업하기"에서는 외부 라이브러리를 사용하지 않으려는 경우 알고리즘을 구현하는 데 사용할 수있는 Java 메소드에 대해 설명합니다.

행운을 빈다.