728x90

DB 암호를 강력하게 만들기 위해서 SHA384를 적용하는 코드를 작성해봤다.


<?php
$userpw = "admin1234"; // 사용자 입력 암호
function createSalt()
{
    $text = md5(uniqid(rand(), TRUE));
    return substr($text, 0, 34);
}

$salt = createSalt(); // 랜덤하게 생성
$password = hash('sha384', $userpw.$salt);
echo $salt.'<br />';
echo $password.'<br />';
echo strlen($password);
?>


DB 패스워드를 다른 키($salt)와 조합하여 저장하도록 하는 로직이다.

여기서 $salt 값이 계속 변하므로 이 키값도 같이 DB에 저장하지 않으면 다음번에 로그인할 때 문제가 생긴다.

따라서 테이블에 key 값을 저장하는 테이블도 하나 추가하는게 좋다.

블로그 이미지

Link2Me

,