데이터베이스에 비밀번호를 저장하는 한 가지 방법은 다음과 같습니다. username, hash 및 salt 열이있는 데이터베이스 테이블을 갖기. 소금은 결코 보이지 않을 것입니다.데이터베이스에 암호를 안전하게 저장하는 방법은 무엇입니까?
암호 + salt로 해시를 생성합니다. 암호는 사용자가 보내며 데이터베이스에 저장되지 않습니다. 생성 된 해시가 데이터베이스에 저장된 해시와 동일한 경우 암호가 올바른 것입니다.
하지만 내 의심이 있습니다. 암호를 보내면 유선으로 전송되는 동안 스니핑 될 수 있으므로 통신을 암호화해야합니다. 따라서 해시와 소금을 사용하는 것은 관리자로부터 데이터를 보호하기위한 것일뿐입니다. 데이터베이스에 암호를 저장하면 관리자가 모든 정보에 쉽게 액세스 할 수 있습니다. 해시를 저장하면 관리자는 정보의 절반 만 소금이 아니라 암호 만 가지고 있기 때문에 사용자 정보에 액세스 할 수 없습니다. 그러나 사용자가 암호를 보내야하는 동안 다른 사람이 냄새를 맡을 수 있으므로 암호가 노출됩니다.
사용자의 정보를 보호하는 가장 좋은 방법은 무엇입니까?
감사합니다.
http://www.troyhunt.com/2011/12/free-ebook-owasp-top-10-for-net.html –