/
githubmirror
/
deno
Обзор
Документация
Войти
/
githubmirror
/
deno
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
tests/unit_node/crypto/generate_fixture.mjs
69 строк
1 KB
Kenta Moriuchi
chore: Happy New Year 2026 (#31748)
08 янв 2026, 18:28
Не верифицирован
08 янв 2026, 18:28
8193cf9
Код
Авторство
О чём код?
// Copyright 2018-2026 the Deno authors. MIT license. // Run this file with `node` to regenerate the testdata/crypto_digest_fixtures.json file. import { readFileSync, writeFileSync } from "node:fs"; import { join } from "node:path"; import crypto from "node:crypto"; import { Buffer } from "node:buffer"; const privateKey = readFileSync( join(import.meta.dirname, "..", "testdata", "rsa_private.pem"), ); const fixtures = []; const DATA = "Hello, world!"; const SALT = "salt"; const INFO = "info"; const ITERATIONS = 1000; const KEY_LEN = 64; for (const digest of crypto.getHashes()) { const hasher = crypto.createHash(digest); hasher.update(DATA); let hash; try { hash = hasher.digest().toString("hex"); } catch { hash = null; } const sign = crypto.createSign(digest); sign.update(DATA); let signature; try { signature = sign.sign(privateKey).toString("hex"); } catch { signature = null; } let pkdf2; try { pkdf2 = crypto.pbkdf2Sync(DATA, SALT, ITERATIONS, KEY_LEN, digest).toString( "hex", ); } catch { pkdf2 = null; } let hkdf; try { hkdf = Buffer.from(crypto.hkdfSync(digest, DATA, SALT, INFO, KEY_LEN)) .toString("hex"); } catch { hkdf = null; } fixtures.push({ digest, hash, signature, pkdf2, hkdf, }); } writeFileSync( join(import.meta.dirname, "..", "testdata", "crypto_digest_fixtures.json"), JSON.stringify(fixtures, null, 2), );