2016-12-18 1 views
-5

나는 약간의 도움이 필요하다. 나는 로그인 프로그램을하고 sha-256과 소금을 사용하여 암호를 저장하기 위해 연습했지만, 힘든 부분이있다. . sha-256을 사용하면 비밀번호를 확인하기 위해 작업을 되돌릴 수 없다는 것을 읽었습니다. 그것이 사실이라면 암호를 암호화하기 위해 사용해야 할 것이고 암호를 암호화 한 후에 암호가 암호화되면 어떻게 로그인 할 수 있습니까? 추신 : 나는 google에서 검색했습니다.sha256과 소금으로 자바 암호화

+2

MD5 및 SHA는 해시 알고리즘 *입니다. 암호화 알고리즘이 아닙니다. 암호를 설정할 때 단순히 해시하고 로그인을 시도하면 해시를 비교합니다. –

답변

0

비밀번호가 12345678이라고 가정합니다. 이 암호를 해시하여 프로그램에 저장합니다. 로그인 프로그램에서 사용자의 입력을 받아 동일한 알고리즘으로 해시 한 다음 해시 된 두 문자열을 비교합니다. 가 같으면 문자열이 동일하고 그렇지 않으면 같지 않습니다. 그 사람은 정확한 암호가 무엇인지 알아낼 수 없으며 암호를 해시했습니다.

0

해시 함수의 작동 방식을 읽어야합니다. 해시 함수는 입력 값에 따라 값을 생성합니다. 이 값을 계산하는 공식은 특정 해시 함수 (예 : SHA-256)에 대해 항상 동일하기 때문에 입력 (귀하의 경우 암호)을 알고있는 경우 언제든지 생성 할 수 있습니다. 따라서 암호와 달리 해시 함수로 계산 된 값은 해독되지 않습니다.

나는

당신은 당신이 말한대로, 당신은 단지 해시 값을 알고있어서 작업을 취소 할 수 없습니다 때문에, 비밀번호를 암호화하지 않아도, 즉 저장된 암호를 암호화하는 데 사용할 필요 당신 데이터베이스에. 일반 텍스트 형식의 암호를 알고있는 경우에만 액세스 권한을 얻을 수 있습니다.

관련 문제