sodium_crypto_pwhash_scryptsalsa208sha256
(PHP 7 >= 7.2.0, PHP 8)
sodium_crypto_pwash_scryptsalsa208sha256 — scrypt를 사용하여 암호에서 키를 파생합니다.
설명
sodium_crypto_pwhash_scryptsalsa208sha256( int $length, string $password, string $salt, int $opslimit, int $memlimit ): string
이것은 sodium_crypto_pwash()에 대응하는 scrypt입니다.
이 특정 함수를 사용하는 일반적인 이유는 암호와 솔트에서 암호화 키의 시드를 파생한 다음 이 시드를 사용하여 특정 목적에 필요한 실제 키를 생성하는 것입니다(예: sodium_crypto_sign_detached()).
매개변수
length
- 생성할 비밀번호 해시의 길이(바이트)입니다.
password
- 해시를 생성할 암호입니다.
salt
- 해싱 전에 비밀번호에 추가할 솔트. 솔트는 예측할 수 없고 random_bytes()와 같은 좋은 난수 소스에서 생성되는 것이 이상적이며 길이가
SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_SALTBYTES
바이트 이상이어야 합니다. opslimit
- 수행할 최대 계산량을 나타냅니다. 이 숫자를 높이면 함수가 키를 계산하는 데 더 많은 CPU 주기가 필요합니다.
SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_INTERACTIVE
및SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_SENSITIVE
와 같이 의도한 용도에 따라 작업 제한을 적절한 값으로 설정하는 데 사용할 수 있는 몇 가지 상수가 있습니다. memlimit
- 함수가 사용할 최대 RAM 양(바이트)입니다. 크기 순으로 적절한 값을 선택하는 데 도움이 되는 상수가 있습니다.
SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_INTERACTIVE
및SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_SENSITIVE
. 일반적으로 이들은 일치하는opslimit
값과 쌍을 이루어야 합니다.
반환 값
원하는 길이의 바이트 문자열입니다.