웹개발

암호화 MD5, password_hash()

duduranran 2022. 10. 23. 22:54

오늘 배운 방식은 두 가지

 

md5(Message-Digest algorithm 5) 방식 - 양방향 암호화

사용 예 : md = md5($pass1)

              md5(변수명)

 

(취약점 때문에 다른 암호화방식이 많이 생겨났다.

bcypt 알고리즘을 많이 사용한다.)

쉽게 설명해서 복호화가 가능하다.

암호화 : 평문을 암호문으로 바꾸는 것 

복호화 : 암호문을 다시 평문으로 바꾸는 것

인터넷에 검색해보면 수많은 복호화 사이트들이 나온다.

 

password_hash() 방식 - 단방향 암호화

사용 예 : $hash = password_hash($pass2, PASSWORD_DEFAULT);

               password_hash(변수, 알고리즘)

PASSWORD_DEFAULT - bcypt 알고리즘을 사용한다.(신뢰성이 아주 높다.)

 -> 시간이 지남에 따라 자동으로 변경된다.

PASSWORD_BCYPT - CRYPT_BLOWFISH 알고리즘을 사용하여 해쉬를 만든다.

 

 

md5가 안 쓰이는 것은 아니다. 전 세계적으로 많이 쓰인다.

시큐어코딩, 보안코딩은 개발자들마다 다르기 때문에

다양하게 섞어서 사용하는 게 좋다.

하지만 난 불안하니  password_hash를 쓰겠다.