Skip to content

Функция Bun.password.hash() предоставляет быстрый встроенный механизм для безопасного хеширования паролей в Bun. Сторонние зависимости не требуются.

ts
const password = "super-secure-pa$$word";

const hash = await Bun.password.hash(password);
// => $argon2id$v=19$m=65536,t=2,p=1$tFq+9AVr1bfPxQdh6E8DQRhEXg/M/...

По умолчанию используется алгоритм Argon2id. Передайте второй аргумент в Bun.password.hash() для использования другого алгоритма или настройки параметров хеширования.

ts
const password = "super-secure-pa$$word";

// использовать argon2 (по умолчанию)
const argonHash = await Bun.password.hash(password, {
  memoryCost: 4, // использование памяти в кибибайтах
  timeCost: 3, // количество итераций
});

Bun также реализует алгоритм bcrypt. Укажите algorithm: "bcrypt" для его использования.

ts
// использовать bcrypt
const bcryptHash = await Bun.password.hash(password, {
  algorithm: "bcrypt",
  cost: 4, // число от 4 до 31
});

Используйте Bun.password.verify() для проверки пароля. Алгоритм и его параметры хранятся в самом хеше, поэтому повторное указание конфигурации не требуется.

ts
const password = "super-secure-pa$$word";
const hash = await Bun.password.hash(password);

const isMatch = await Bun.password.verify(password, hash);
// => true

Смотрите Документация > API > Хеширование для полной документации.

Bun от www.bunjs.com.cn