MYSQL 에서 제공되는 내장함수중 PASSWORD 라는오래전부터 많이 사용되고 있는 함수가 있다. 이 함수는 단방향 암호화로 해독자체가 거의 불가능하기때문에 보안상으로는 상당히 좋다. 

 

다만 키값으로 암호화가 되는게 아니기때문에 해독되어 알려진 비밀번호도 많이 존재한다고 한다. 뭐 보안을 위해서 개발자의 능력도 중요하지만 사용자가 비밀번호 보안을 신경쓰는게 가장 중요하니까...

 

요즘은 많이들 알다시피 개인 정보를 수집하는 유명한 사이트에는 2중 인증이 잘 되어있기때문에 이를 이용하여 최대한 본인 계정의 보안레벨을 높이는게 좋다. 

 

하단의 함수는 MYSQL 에서 제공되는 내장함수 PASSWORD 와 동일한 값을 가져올 수 있는 함수다.  물론 MYSQL 쿼리문을 통해서도 가져오는 방법이 있겠지만, 주제는 PHP이니 참고만 하기 바란다. 

 

db_password_hash 함수

// DataBase PASSWORD 함수와 동일한 해시 생성 함수
if (!function_exists('db_password_hash')) {
    function db_password_hash($v = false){
        if($v == false){ return false; }
        $password = "*".strtoupper(sha1( sha1($v, true)));
        return $password;
    }
}

 

예제

echo db_password_hash('123456'); // *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9