Modul Basismodul

Modul Krypto

Verschlüsselungsalgorithmus-Modul

Anweisungen:

1
var crypto = require('crypto');

Objekt

Cipher

Cipher Konstruktor, siehe Cipher

1
Cipher crypto.Cipher;

PKey

PKey Konstruktor, siehe PKey

1
PKey crypto.PKey;

X509Cert

X509Cert Konstruktor, siehe X509Cert

1
X509Cert crypto.X509Cert;

X509Crl

X509Crl Konstruktor, siehe X509Crl

1
X509Crl crypto.X509Crl;

X509Req

X509Req Konstruktor, siehe X509Req

1
X509Req crypto.X509Req;

Statische Funktion

createHash

Erstellen Sie ein Informationszusammenfassungsobjekt basierend auf dem angegebenen Algorithmusnamen

1
static Digest crypto.createHash(String algo);

Aufrufparameter:

  • algo: String, spezifiziert den Algorithmus des Message-Digest-Objekts

Ergebnis zurückgeben:

  • Digest, Informationszusammenfassungsobjekt zurückgeben

createHmac

Erstellen Sie ein Hmac Information Digest-Objekt basierend auf dem angegebenen Algorithmusnamen

1 2
static Digest crypto.createHmac(String algo, Buffer key);

Aufrufparameter:

  • algo: String, spezifiziert den Algorithmus des Message-Digest-Objekts
  • key: Buffer, Binärer Signaturschlüssel

Ergebnis zurückgeben:

  • Digest, Informationszusammenfassungsobjekt zurückgeben

loadPKey

Laden Sie eine Schlüsseldatei im PEM/DER-Format

1 2
static PKey crypto.loadPKey(String filename, String password = "");

Aufrufparameter:

  • filename: String, Name der Schlüsseldatei
  • password: String, Passwort entschlüsseln

Ergebnis zurückgeben:

  • PKey, Gibt ein Objekt zurück, das den Schlüssel enthält

loadCert

Laden Sie ein Zertifikat im CRT/PEM/DER/TXT-Format, das mehrfach aufgerufen werden kann

1
static X509Cert crypto.loadCert(String filename);

Aufrufparameter:

  • filename: String, Name der Zertifikatsdatei

Ergebnis zurückgeben:

  • X509Cert, Gibt das Objekt zurück, das das Zertifikat enthält

loadFile lädt Mozillas certdata,txt, die heruntergeladen und verwendet werden kann unter http://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt


loadCrl

Laden Sie ein Sperrzertifikat im PEM/DER-Format, das mehrfach aufgerufen werden kann

1
static X509Crl crypto.loadCrl(String filename);

Aufrufparameter:

  • filename: String, Dateiname des widerrufenen Zertifikats

Ergebnis zurückgeben:

  • X509Crl, Gibt das Objekt zurück, das das widerrufene Zertifikat enthält

loadReq

Laden Sie eine Zertifikatsanforderung im PEM/DER-Format, die mehrfach aufgerufen werden kann

1
static X509Req crypto.loadReq(String filename);

Aufrufparameter:

  • filename: String, Dateiname der Zertifikatsanforderung

Ergebnis zurückgeben:

  • X509Req, Gibt das Objekt zurück, das das angeforderte Zertifikat enthält

randomBytes

Generieren Sie Zufallszahlen bestimmter Größe, verwenden Sie den Havege-Generator

1
static Buffer crypto.randomBytes(Integer size) async;

Aufrufparameter:

  • size: Integer, geben Sie die Größe der generierten Zufallszahl an

Ergebnis zurückgeben:

  • Buffer, Gib die generierte Zufallszahl zurück

simpleRandomBytes

Generieren Sie mit einem schnellen Algorithmus eine Zufallszahl geringer Intensität einer bestimmten Größe

1
static Buffer crypto.simpleRandomBytes(Integer size) async;

Aufrufparameter:

  • size: Integer, geben Sie die Größe der generierten Zufallszahl an

Ergebnis zurückgeben:

  • Buffer, Gib die generierte Zufallszahl zurück

pseudoRandomBytes

Generieren Sie Pseudo-Zufallszahlen bestimmter Größe mit dem Entropiegenerator

1
static Buffer crypto.pseudoRandomBytes(Integer size) async;

Aufrufparameter:

  • size: Integer, geben Sie die Größe der generierten Zufallszahl an

Ergebnis zurückgeben:

  • Buffer, Gib die generierte Zufallszahl zurück

randomArt

Erzeuge ein visuelles Charakterbild der gegebenen Daten

1 2 3
static String crypto.randomArt(Buffer data, String title, Integer size = 8);

Aufrufparameter:

  • data: Buffer, Geben Sie die anzuzeigenden Daten an
  • title: String, gibt den Titel des Zeichenbildes an, Multi-Byte-Zeichen verursachen einen Breitenfehler
  • size: Integer, Zeichenbildgröße

Ergebnis zurückgeben:

  • String, Gibt das generierte visuelle Zeichenfolgenbild zurück

genRsaKey

Generieren Sie einen privaten RSA-Schlüssel

1
static PKey crypto.genRsaKey(Integer size) async;

Aufrufparameter:

  • size: Integer, Angabe der RSA-Schlüssellänge, Bit als Einheit

Ergebnis zurückgeben:

  • PKey, Gibt das Objekt zurück, das den generierten privaten Schlüssel enthält

genEcKey

Generieren Sie einen privaten EC-Schlüssel

1
static PKey crypto.genEcKey(String curve = "secp521r1") async;

Aufrufparameter:

  • curve: String, spezifizieren Sie die voreingestellte elliptische Kurve, optionale Werte sind: "secp521r1", "brainpoolP512r1", "secp384r1", "brainpoolP384r1", "secp256r1", "secp256k1", "brainpoolP256r1", "secp224r1", "secp224k1", "secp192r1", "secp192k1"

Ergebnis zurückgeben:

  • PKey, Gibt das Objekt zurück, das den generierten privaten Schlüssel enthält

genSm2Key

Generieren Sie einen privaten SM2-Schlüssel

1
static PKey crypto.genSm2Key() async;

Ergebnis zurückgeben:

  • PKey, Gibt das Objekt zurück, das den generierten privaten Schlüssel enthält

pbkdf1

Generieren Sie den erforderlichen Binärschlüssel gemäß pbkdf1 gemäß dem Klartext-Passwort

1 2 3 4 5
static Buffer crypto.pbkdf1(Buffer password, Buffer salt, Integer iterations, Integer size, Integer algo) async;

Aufrufparameter:

  • password: Buffer, Geben Sie das verwendete Passwort an
  • salt: Buffer, Geben Sie das von hmac verwendete Salt an
  • iterations: Integer, geben Sie die Anzahl der Iterationen an
  • size: Integer, Schlüsselgröße angeben
  • algo: Ganzzahl, geben Sie an, was verwendet werden soll hash Algorithmus, siehe hash Modul

Ergebnis zurückgeben:

  • Buffer, Den generierten Binärschlüssel zurückgeben

Generieren Sie den erforderlichen Binärschlüssel gemäß pbkdf1 gemäß dem Klartext-Passwort

1 2 3 4 5
static Buffer crypto.pbkdf1(Buffer password, Buffer salt, Integer iterations, Integer size, String algoName) async;

Aufrufparameter:

  • password: Buffer, Geben Sie das verwendete Passwort an
  • salt: Buffer, Geben Sie das von hmac verwendete Salt an
  • iterations: Integer, geben Sie die Anzahl der Iterationen an
  • size: Integer, Schlüsselgröße angeben
  • algoName: String, geben Sie an, was verwendet werden soll hash Algorithmus, siehe hash Modul

Ergebnis zurückgeben:

  • Buffer, Den generierten Binärschlüssel zurückgeben

pbkdf2

Generieren Sie gemäß rfc2898 den erforderlichen Binärschlüssel gemäß dem Klartext-Passwort

1 2 3 4 5
static Buffer crypto.pbkdf2(Buffer password, Buffer salt, Integer iterations, Integer size, Integer algo) async;

Aufrufparameter:

  • password: Buffer, Geben Sie das verwendete Passwort an
  • salt: Buffer, Geben Sie das von hmac verwendete Salt an
  • iterations: Integer, geben Sie die Anzahl der Iterationen an
  • size: Integer, Schlüsselgröße angeben
  • algo: Ganzzahl, geben Sie an, was verwendet werden soll hash Algorithmus, siehe hash Modul

Ergebnis zurückgeben:

  • Buffer, Den generierten Binärschlüssel zurückgeben

Generieren Sie gemäß rfc2898 den erforderlichen Binärschlüssel gemäß dem Klartext-Passwort

1 2 3 4 5
static Buffer crypto.pbkdf2(Buffer password, Buffer salt, Integer iterations, Integer size, String algoName) async;

Aufrufparameter:

  • password: Buffer, Geben Sie das verwendete Passwort an
  • salt: Buffer, Geben Sie das von hmac verwendete Salt an
  • iterations: Integer, geben Sie die Anzahl der Iterationen an
  • size: Integer, Schlüsselgröße angeben
  • algoName: String, geben Sie an, was verwendet werden soll hash Algorithmus, siehe hash Modul

Ergebnis zurückgeben:

  • Buffer, Den generierten Binärschlüssel zurückgeben

getHashes

Holen Sie sich die Unterstützung des Kryptomoduls hash(Abstrakte) Algorithmen wie 'md5','sha224'

1
static Array crypto.getHashes();

Ergebnis zurückgeben:

  • Array, Zurück zum fibjs-Support hash Algorithmus-Array

Konstante

AES

Geben Sie den symmetrischen Verschlüsselungsalgorithmus AES an, unterstützen Sie 128-, 192-, 256-Bit-Schlüssel, Blockchiffre-Arbeitsmodus unterstützt ECB, CBC, CFB128, CTR, GCM, CCM, XTS

1
const crypto.AES = 1;

CAMELLIA

Geben Sie den symmetrischen Verschlüsselungsalgorithmus CAMELLIA an, unterstützen Sie 128-, 192-, 256-Bit-Schlüssel, Blockchiffre-Arbeitsmodus unterstützt ECB, CBC, CFB128, CTR, GCM, CCM

1
const crypto.CAMELLIA = 2;

DES

Geben Sie den symmetrischen Verschlüsselungsalgorithmus DES an, unterstützen Sie 64-Bit-Schlüssel, Blockchiffre-Arbeitsmodus unterstützt ECB, CBC

1
const crypto.DES = 3;

DES_EDE

Geben Sie den symmetrischen Verschlüsselungsalgorithmus DES-EDE an, unterstützen Sie 128-Bit-Schlüssel, Blockchiffre-Arbeitsmodus unterstützt ECB, CBC

1
const crypto.DES_EDE = 4;

DES_EDE3

Geben Sie den symmetrischen Verschlüsselungsalgorithmus DES-EDE3 an, unterstützen Sie 192-Bit-Schlüssel, Blockchiffre-Arbeitsmodus unterstützt ECB, CBC

1
const crypto.DES_EDE3 = 5;

BLOWFISH

Geben Sie den symmetrischen Verschlüsselungsalgorithmus BLOWFISH an, unterstützen Sie 192-Bit-Schlüssel, Blockchiffre-Arbeitsmodus unterstützt ECB, CBC, CFB64, CTR

1
const crypto.BLOWFISH = 6;

ARC4

Geben Sie den symmetrischen Verschlüsselungsalgorithmus ARC4 an, unterstützen Sie 40, 56, 64, 128-Bit-Schlüssel

1
const crypto.ARC4 = 7;

ARIA

Geben Sie den symmetrischen Verschlüsselungsalgorithmus ARIA an, unterstützen Sie 128-, 192-, 256-Bit-Schlüssel, Blockchiffre-Arbeitsmodus unterstützt ECB, CBC, CFB128, CTR, GCM, CCM

1
const crypto.ARIA = 8;

CHACHA20

Geben Sie den symmetrischen Verschlüsselungsalgorithmus CHACHA20 an, unterstützen Sie 256-Bit-Schlüssel, Blockchiffre-Arbeitsmodus unterstützt POLY1305

1
const crypto.CHACHA20 = 9;

SM4

Geben Sie den symmetrischen Verschlüsselungsalgorithmus SM4 an, Blockchiffre-Arbeitsmodus unterstützt ECB, CBC

1
const crypto.SM4 = 10;

ECB

Der designierte Blockchiffre-Arbeitsmodus unterstützt ECB

1
const crypto.ECB = 1;

CBC

Der designierte Blockchiffre-Arbeitsmodus unterstützt CBC

1
const crypto.CBC = 2;

CFB64

Der designierte Blockchiffre-Arbeitsmodus unterstützt CFB64

1
const crypto.CFB64 = 3;

CFB128

Der designierte Blockchiffre-Arbeitsmodus unterstützt CFB128

1
const crypto.CFB128 = 4;

OFB

Der designierte Blockchiffre-Arbeitsmodus unterstützt OFB

1
const crypto.OFB = 5;

CTR

Der designierte Blockchiffre-Arbeitsmodus unterstützt CTR

1
const crypto.CTR = 6;

GCM

Der designierte Blockchiffre-Arbeitsmodus unterstützt GCM

1
const crypto.GCM = 7;

STREAM

Stream-Chiffre-Modus angeben

1
const crypto.STREAM = 8;

CCM

Der designierte Blockchiffre-Arbeitsmodus unterstützt CCM

1
const crypto.CCM = 9;

XTS

Der designierte Blockchiffre-Arbeitsmodus unterstützt XTS

1
const crypto.XTS = 10;

POLY1305

Der designierte Blockchiffre-Arbeitsmodus unterstützt POLY1305

1
const crypto.POLY1305 = 11;

PKCS7

Geben Sie den Füllmodus als PKCS7 an

1
const crypto.PKCS7 = 0;

ONE_AND_ZEROS

Füllmodus als ONE_AND_ZEROS . angeben

1
const crypto.ONE_AND_ZEROS = 1;

ZEROS_AND_LEN

Geben Sie den Füllmodus als ZEROS_AND_LEN . an

1
const crypto.ZEROS_AND_LEN = 2;

ZEROS

Geben Sie den Füllmodus als ZEROS . an

1
const crypto.ZEROS = 3;

NOPADDING

Geben Sie den Füllmodus als NOPADDING . an

1
const crypto.NOPADDING = 4;