암호를 저장하는 가장 안전한 방법은 심지어 당신 (앱) 암호가 무엇인지 모르는 그런 방법에 관하여. 이것은 단방향 해시를 사용하여 수행됩니다. 이름에서 알 수 있듯이 이것이 하나의 방법이기 때문에 해시 값을 "해시 해제"하고 원래 값이 무엇인지 확인할 방법이 없습니다. 암호화 해시의 중요한 특성의
하나는 값을 해싱이 항상 생산하는 것입니다 같은 hash.The SHA-2 (256)는 항상 것이다 "빠른 갈색 여우가 게으른 개 점프"의 해시 해시 생성 d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592
해시를 가져올 수있는 방법이 없는데 무자비한 테이블이있는 해커가 무엇인지 파악할 수있는 방법은 없습니다 (해시가 여전히 취약한 경우에도 취약한 암호가 모든 무지개 세계의 테이블은 에 대한 해시를 갖습니다.
암호를 해싱하기 전에 소금을 추가합니다 (각 사용자마다 다른 소금이 이상적입니다). 전에 해싱 "빠른 갈색 여우가 게으른 개 위로 점프"우리는 소금을 추가합니다 (간단한 예제로 단어 "소금"을 사용하자) 우리는 지금 소금 "빠른 갈색 여우가 게으른 개 점프"를 해시하고 얻을 b369837c6389d8dddb06cb669961b0ab80f5166cc8cebcfaf9734ed009c31e8b
우리 해시로.
소금에 절인 해시는 저장해야하지만 (어디에서든지 애플리케이션에 적합) 체크 대상입니다. 따라서 사용자는 먼저 것이다 계정을 만들 때 :
- (예 : SHA-2으로, 충돌 무료 암호화 해시를 사용하여)
- 해시를 소금을 자신이 선택한 암호를 가지고 추가
- 저장 결과
을
사용자는 것이다 로그인을 시도 할 때 :
- 가에 암호 그들에게 입력을 로그인 폼과 그들이이 같은 경우는 잘못된 암호를 입력 동일하지 않은 경우
저장 한 내용에
해시는
는 비교 소금을 추가 당신은 그들이 올바른 입력 알고 암호를 입력하면 로그인 할 수 있습니다.
암호화하는 대신 해시로 처리 ... 암호화 대신 해시를 사용하는 것이 안전하다고 느낍니다. – codeMan
@codeMan Mhmm,이 해시를 어떻게 구할 수 있습니까? SHA는 암호화 – Cruncher
을위한 많은 유틸리티 클래스가 있습니다. 해싱 알고리즘을 결정하고 사용하십시오. 예를 들어 MD5 – codeMan