PHP8 sodium_crypto_pwhash_scryptsalsa208sha256

2024-03-18 13:43 更新

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_pwhash_scryptsalsa208sha256 — 使用 scrypt 從密碼派生密鑰

說明

sodium_crypto_pwhash_scryptsalsa208sha256(
    int $length,
    string $password,
    string $salt,
    int $opslimit,
    int $memlimit
): string

這是 sodium_crypto_pwhash() 的 scrypt 對應物。

使用此特定函數的一個常見原因是從密碼和 salt 派生加密密鑰的種子, 然后使用這些種子來生成用于某種目的的實際密鑰(例如sodium_crypto_sign_detached())。

參數 

length

要生成的密碼哈希的長度(以字節(jié)為單位)。

password

要為其生成哈希的密碼。

salt

在哈希之前添加到密碼中的鹽。鹽應該是不可預測的,理想情況下是從良好的隨機數源(如 random_bytes())生成的,并且長度至少為 SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_SALTBYTES 字節(jié)。

opslimit

表示要執(zhí)行的最大計算量。提高此數字將使函數需要更多的 CPU 周期來計算密鑰。有一些常量可用于根據預期用途將操作限制設置為適當的值,按強度順序排列:SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_INTERACTIVE 和 SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_SENSITIVE。

memlimit

函數將使用的最大 RAM 量(以字節(jié)為單位)。有一些常量可幫助您按大小順序選擇適當的值:SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_INTERACTIVE 和 SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_SENSITIVE。通常,這些值應與匹配值配對。opslimit

返回值 

所需長度的字節(jié)字符串。


以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號