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_INTERACTIVESODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_SENSITIVE와 같이 의도한 용도에 따라 작업 제한을 적절한 값으로 설정하는 데 사용할 수 있는 몇 가지 상수가 있습니다.
memlimit
함수가 사용할 최대 RAM 양(바이트)입니다. 크기 순으로 적절한 값을 선택하는 데 도움이 되는 상수가 있습니다. SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_INTERACTIVESODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_SENSITIVE. 일반적으로 이들은 일치하는 opslimit 값과 쌍을 이루어야 합니다.

반환 값

원하는 길이의 바이트 문자열입니다.