PHP
[PHP] md5(), sha1()
똑똑한 영장류
2012. 12. 11. 21:09
주어진 문자열의 해쉬값을 구해주는 함수들이 있습니다. 문자열을 암호화 하는데 이용될 수 있습니다.
string md5 ( string $str
[, bool $raw_output
= false ] )
$str
해쉬값을 구할 문자열
$raw_output
true 로 설정하면, 결과값이 16자로 만들어줍니다. 설정하지 않을 경우, 32자의 길이를 가집니다.
string sha1 ( string $str
[, bool $raw_output
= false ] )
$str
해쉬값을 구할 문자열
$raw_output
true 로 설정하면, 결과값이 20자로 만들어줍니다. 설정하지 않을 경우, 40자의 길이를 가집니다.
php.net 에서 위 함수들을 검색해보면, 암호를 암호화하는데 이용하지 말라고 합니다.
이유인 즉, 위 함수들은 빠르게 동작하게 만들어졌기 때문에, 성능 좋은 오늘날의 컴퓨터를 이용해서 brute-force 기법으로 충분히 크랙이 가능해서 라고 합니다.
brute-force 기법을 무작위 대입법으로 역으로 연산이 불가능한 값의 원래값을 찾기 위해, 무작위로 입력하고 처리된 값을 결과값과 비교해서 원래 값을 찾아내는 방법입니다.