암호를 해싱하기 전에 소금을 사용하면 해시가 더욱 안전 해집니다. 무지개 테이블 공격이 훨씬 더 어려워지기 때문에 불가능합니다 (불가능합니까?).암호를 보호하기위한 복수의 소금
여러 개의 소금을 사용하면 어떻습니까? 예를 들어, 요일이 월요일인지, 월, 시간 등 (또는 어떤 조합인지)을 확인합니다. 그런 다음 (userid, hash1, hash2, hash3 ...) 필드를 저장하는 데이터베이스가 있습니다.
정보가 더 이상 (또는 덜) 안전합니까?
예 :
1) 사용자가 암호 'PASS'로 등록합니다. 2) 시스템 (이 예제에서는 php)은 매일 (7 개의 암호) 값 (md5 ($ password. $ this_day))을 저장합니다. 테이블 암호, 열 hash_monday, hash_tuesday 등. 3) 사용자가 로그인하고 스크립트가 'hash_'인 암호를 확인합니다. $ this_day는 입력 한 내용과 일치합니다.
레인보우 테이블 공격이 더욱 어려워지고, 해시가 사전 공격으로부터 사용자를 보호하지 않습니다. – Woot4Moo