password 암호화 알고리즘 bcrypt
php script :
아래 옵셥의 cost 값은 해싱의 속도를 나타낸다.
default : 10이며 값이 커질수록 해싱의 속도가 느려진다. 이는 오토 크래킹으로 부터 보안성을 높여 줄 수 있다.
<?php
/*
if (defined("CRYPT_BLOWFISH") && CRYPT_BLOWFISH)
echo "CRYPT_BLOWFISH is enabled!";
else
echo "CRYPT_BLOWFISH is not available";
*/
#첫번째 매개변수 - $password - 해시할 값(비밀번호)
#두번째 매개변수 - PASSWORD_BCRYPT - 해시에 사용될 알고리즘(PASSWORD_DEFAULT, PASSWORD_BCRYPT, ...)
$password ="tester";
$options15 = [ 'cost' => 15 ] ;
$options12 = [ 'cost' => 12 ] ;
$hashedValue = password_hash($password, PASSWORD_BCRYPT);
$hashedValueWithO12 = password_hash($password, PASSWORD_BCRYPT, $options12);
$hashedValueWithO15 = password_hash($password, PASSWORD_BCRYPT, $options15);
echo "1hashedPassword:".$hashedValue;
echo "<br>2hashedPassword:".$hashedValueWithO12;
echo "<br>3hashedPassword:".$hashedValueWithO15;
/*
if(password_verify($password, $hashedValue))
echo "<br>1true";
else
echo "<br>1false";
if(password_verify($password, $hashedValueWithO12))
echo "<br>2true";
else
echo "<br>2false<br>";
if(password_verify($password, $hashedValueWithO15))
echo "<br>3true";
else
echo "<br>3false<br>";
*/
echo "<br>1.hashedValue:";
print_r( password_get_info( $hashedValue ));
echo "<br>2.hashedValue:";
print_r( password_get_info( $hashedValueWithO12 ));
echo "<br>3.hashedValue:";
print_r( password_get_info( $hashedValueWithO15 ));
?>
cost => 10
cost => 12
cost => 15
reference to : http://dolgo.net/PHP/lecture/18
'프로그래밍 > PHP' 카테고리의 다른 글
php CURL 사용하기 (0) | 2018.07.31 |
---|---|
Javascript로 Facebook로그인 (0) | 2018.05.26 |
unlink(=delete) 메소드 이용하기 (0) | 2018.04.22 |
directory entry 읽어 파일리스트업 (0) | 2018.04.20 |
파일 업로드(move_uploaded_file) (3) | 2018.04.14 |