라이브러리

[PHP] crypt_checksalt - 암호화 설정 문자열 검증




PHP에서 crypt_checksalt


`crypt_checksalt`는 PHP의 `hash` 함수를 사용하여 비밀번호를 암호화할 때 사용되는 salt를 검증하는 함수입니다. 이 함수는 PHP 7.0 이상에서 사용할 수 있습니다.

# 사용법


`crypt_checksalt` 함수는 두 개의 매개변수를 받습니다.

* `$salt`: 암호화된 비밀번호에서 사용된 salt입니다.
* `$password`: 암호화된 비밀번호입니다.

# 예제


#hostingforum.kr
php

// 암호화된 비밀번호

$password = crypt('password', '$2y$10$' . substr(md5(uniqid(mt_rand(), true)), 0, 22));



// 암호화된 비밀번호에서 salt를 추출합니다.

$salt = substr($password, 3, 22);



// 비밀번호를 암호화하고 salt를 검증합니다.

if (crypt_checksalt($salt, 'password') === $password) {

    echo "비밀번호가 일치합니다.";

} else {

    echo "비밀번호가 일치하지 않습니다.";

}



# 설명


* `$password` 변수에 암호화된 비밀번호를 저장합니다.
* `$salt` 변수에 암호화된 비밀번호에서 salt를 추출합니다.
* `crypt_checksalt` 함수를 사용하여 salt를 검증하고, 비밀번호가 일치하는지 확인합니다.

# 참고


* `crypt` 함수는 PHP 7.0 이상에서 사용할 수 있습니다.
* `$2y$10$`는 암호화 알고리즘을 지정하는 prefix입니다. `$2y$`는 Blowfish 알고리즘을 사용하고, `$10$`는 해시 라운드 수를 지정합니다.
* `substr(md5(uniqid(mt_rand(), true)), 0, 22)`는 salt를 생성하는 코드입니다. `uniqid` 함수는 고유한 ID를 생성하고, `mt_rand` 함수는 임의의 숫자를 생성합니다. `md5` 함수는 이 숫자를 해시화하고, `substr` 함수는 22자리 salt를 추출합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 643 페이지

검색

게시물 검색