Node.js | crypto.pbkdf2Sync () Метод
Опубликовано: 3 Августа, 2021
Метод crypto.pbkdf2Sync () предоставляет асинхронную функцию вывода ключей на основе пароля 2, то есть реализацию (PBKDF2). Более того, конкретный алгоритм дайджеста HMAC, который определяется дайджестом, реализуется для получения ключа требуемой длины байта (keylen) из указанного пароля, соли и итераций.
Синтаксис:
crypto.pbkdf2Sync (пароль, соль, итерации, keylen, дайджест)
Параметры: этот метод принимает пять параметров, как указано выше и описано ниже:
- пароль: это строка типа, буфер, TypedArray или DataView .
- соль: она должна быть как можно более уникальной. Однако рекомендуется, чтобы соль была произвольной и в любом случае имела длину не менее 16 байт. Это строка типа, Buffer, TypedArray или DataView .
- итераций: это должно быть число, которое должно быть как можно большим. Таким образом, чем больше количество итераций, тем более безопасным будет полученный ключ, но в этом случае для завершения потребуется больше времени. Это номер типа.
- keylen: это ключ требуемой длины в байтах и номер типа.
- дайджест: это дайджест алгоритмов строкового типа.
Тип возвращаемого значения: возвращает производный ключ как буфер.
Примеры ниже иллюстрируют использование метода crypto.pbkdf2Sync () в Node.js:
Пример 1:
// Node.js program to demonstrate the // crypto.pbkdf2Sync() method // Including crypto module const crypto = require( 'crypto' ); // Implementing pbkdf2Sync const key = crypto.pbkdf2Sync( 'secret' , 'salt' , 2000, 64, 'sha512' ); // Prints buffer console.log(key); |
Выход:
<Буфер 3c f1 85 49 62 52 38 64 2a 4e b1 4c f6 25 2e 1e fc d7 8e 01 c9 40 d7 84 63 5e 24 ef 71 0f 91 83 bb 6d 03 bd 73 43 33 ec 78 a9 78 c8 1f ea7a dc 8c a6 ...>
Пример 2:
// Node.js program to demonstrate the // crypto.pbkdf2Sync() method // Including crypto module const crypto = require( 'crypto' ); // Implementing pbkdf2Sync const key = crypto.pbkdf2Sync( 'secret' , 'salt' , 100000, 100, 'sha512' ); // Prints key which is encoded and converted // to string console.log(key.toString( 'hex' )); |
Выход:
3745e482c6e0ade35da10139e797157f4a5da669dad7d5da88ef87e4 7471cc47ed941c7ad618e827304f083f8707f12b7cfdd5f489b782f10cc269 e3c08d59ae04919ee902c99dba309cde75569fbe8e6d5c341d6f2576f6618c 589e77911a261ee964e2
Ссылка: https://nodejs.org/api/crypto.html#crypto_crypto_pbkdf2sync_password_salt_iterations_keylen_digest