사전공격의 목적은 브루트 포스를 빠르게하기 위한 것이다. 1234나 qwerty등을 미리 테이블에 넣어 놓고 대입하는 것이다. 특히 초기 비밀번호 0000같은것으로 뚫린 CCTV가 수 없이 많은 것을 보면, 사전공격을 막는 것이 어렵지 않다는 것을 알 수 있다. 왜냐면, q1p2wo3eir4uty 이렇게만 바꿔도 안전하기 때문이다. 한마디로 유추 할 수 없는 비밀번호를 만들면 사전 공격을 회피할 수 있다.

DB에 저장시 주의사항

예를 들어 pw1234라는 비밀번호를 해시화 하면 abcdefg1234567890이 나온다고 하자. 그러면 미리 abcdefg1234567890같은 것들을 테이블에 저장한뒤에, 비밀번호를 저장한 테이블을 사용하여 공격하는 것이다. 그렇지만 salt를 넣어서 abcdfewfsagdsg456489wer4fs5dfasdf가 나오면, 사전공격이 무용 지물이 되고 만다. 그렇기 때문에 해시암호를 사용할 때도, salt를 넣는것을 추천한다. 예를들면 pw1234salt를 붙이면, salt값을 모르는 이상, 뚫을 수가 없게 된다.