[PHP]crypt 함수이용 비밀번호 비교 | Server Side

아무래도 보안이 중요한 이시점이다 보니..


설마 패스워드를 문자열 그대로 DB에 넣는 사람은 없겠지요?ㅋ


그래서 많이 하시는게 MD5 인데..

그런데, MD5로 암호화 한 암호문은 무작위 대입으로 찾아낼 수 있습니다.
평문 자체가 단순하면, 더 빨리 찾을수 있겠지요? 무작위로 찾기 때문에...
이미 평문과 암호문을 대조해 놓은 테이블도 있죠? 레인보우 테이블이던가?


md5 는 1:1 대응이 됩니다..

허나 crypt는 1:1 대응이 안됩니다 왜냐하면 salt 라는 것때문인데..


salt 가 무엇인고 하면... 어.. 뭐랄까..


예를 들어서..


test 라는 비밀번호가 있는데 이걸 암호하해서 aabb 라는게 나왔다면...

계속 1234는 암호화 하면 aabb가 나오겠죠? 


근데 만약 1234 앞에  abc1234 이렇게 앞에 abc 가 붙으면 aabb 라는결과가 아니라 다른값이 나오겠죠


이때 저 앞에 abc가 할때마다 바뀐다면? 암호화된 결과값은 계속 바뀌기 때문에 ... 굳..+_+


그걸 자동으로 해주는게 저 crypt() !!!!


앗? 그렇다면 결과 값이 계속 바뀌는데 어떻게 패스워드를 비교 하나요?


그래서 crypt 함수를 이용해서 암호 비교하는법 짜잔..


 $ps = "test";
 $c_ps = crypt($ps);
 
 
 if(crypt($ps,$c_ps) == $c_ps)
 {
  echo "비밀번호가 일치합니다.";
 }
 else
 {
  echo "비밀번호가 일치하지 않습니다."; 
 }

보기만 해도 이해가 쏙...

crypt,md5
Comment Write
Comment List
등록된 코멘트가 없습니다.