Module module de base

Module crypto

Module d'algorithme de chiffrement

Instructions:

1
var crypto = require('crypto');

Objet

Cipher

Cipher Constructeur, voir Cipher

1
Cipher crypto.Cipher;

PKey

PKey Constructeur, voir PKey

1
PKey crypto.PKey;

X509Cert

X509Cert Constructeur, voir X509Cert

1
X509Cert crypto.X509Cert;

X509Crl

X509Crl Constructeur, voir X509Crl

1
X509Crl crypto.X509Crl;

X509Req

X509Req Constructeur, voir X509Req

1
X509Req crypto.X509Req;

Fonction statique

createHash

Créer un objet de résumé d'informations basé sur le nom d'algorithme donné

1
static Digest crypto.createHash(String algo);

Paramètres d'appel :

  • algo: chaîne, spécifie l'algorithme de l'objet de résumé de message

Résultat de retour :

  • Digest, Retourner l'objet récapitulatif des informations

createHmac

Créer un objet de résumé d'informations hmac basé sur le nom d'algorithme donné

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

Paramètres d'appel :

  • algo: chaîne, spécifie l'algorithme de l'objet de résumé de message
  • key: Buffer, Clé de signature binaire

Résultat de retour :

  • Digest, Retourner l'objet récapitulatif des informations

loadPKey

Charger un fichier clé au format PEM/DER

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

Paramètres d'appel :

  • filename: chaîne, nom du fichier de clé
  • password: chaîne, déchiffrer le mot de passe

Résultat de retour :

  • PKey, Renvoie un objet contenant la clé

loadCert

Charger un certificat au format CRT/PEM/DER/TXT, qui peut être appelé plusieurs fois

1
static X509Cert crypto.loadCert(String filename);

Paramètres d'appel :

  • filename: chaîne, nom du fichier de certificat

Résultat de retour :

  • X509Cert, Renvoie l'objet contenant le certificat

loadFile charge le certdata,txt de mozilla, qui peut être téléchargé et utilisé à l' adresse http://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt


loadCrl

Chargez un certificat de révocation au format PEM/DER, qui peut être appelé plusieurs fois

1
static X509Crl crypto.loadCrl(String filename);

Paramètres d'appel :

  • filename: chaîne, nom de fichier du certificat révoqué

Résultat de retour :

  • X509Crl, Renvoie l'objet contenant le certificat révoqué

loadReq

Charger une demande de certificat au format PEM/DER, qui peut être appelée plusieurs fois

1
static X509Req crypto.loadReq(String filename);

Paramètres d'appel :

  • filename: chaîne, nom du fichier de demande de certificat

Résultat de retour :

  • X509Req, Renvoie l'objet contenant le certificat demandé

randomBytes

Générer des nombres aléatoires de la taille spécifiée, utiliser le générateur de hasge

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

Paramètres d'appel :

  • size: Entier, spécifiez la taille du nombre aléatoire généré

Résultat de retour :

  • Buffer, Renvoie le nombre aléatoire généré

simpleRandomBytes

Générer un nombre aléatoire de faible intensité d'une taille spécifiée, à l'aide d'un algorithme rapide

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

Paramètres d'appel :

  • size: Entier, spécifiez la taille du nombre aléatoire généré

Résultat de retour :

  • Buffer, Renvoie le nombre aléatoire généré

pseudoRandomBytes

Générer des nombres pseudo-aléatoires de taille spécifiée, à l'aide du générateur d'entropie

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

Paramètres d'appel :

  • size: Entier, spécifiez la taille du nombre aléatoire généré

Résultat de retour :

  • Buffer, Renvoie le nombre aléatoire généré

randomArt

Générer une image de caractère visuel des données données

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

Paramètres d'appel :

  • data: Buffer, Spécifiez les données à afficher
  • title: chaîne, spécifie le titre de l'image du caractère, les caractères multi-octets provoqueront une erreur de largeur
  • size: Entier, taille de l'image des caractères

Résultat de retour :

  • String, Renvoie l'image de chaîne visuelle générée

genRsaKey

Générer une clé privée RSA

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

Paramètres d'appel :

  • size: Entier, spécifiez la longueur de la clé RSA, le bit comme unité

Résultat de retour :

  • PKey, Renvoie l'objet contenant la clé privée générée

genEcKey

Générer une clé privée EC

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

Paramètres d'appel :

  • curve: chaîne, spécifiez la courbe elliptique prédéfinie, les valeurs facultatives sont : "secp521r1", "brainpoolP512r1", "secp384r1", "brainpoolP384r1", "secp256r1", "secp256k1", "brainpoolP256r1", "secp224r1", "secp224k1", "secp192r1", "secp192k1"

Résultat de retour :

  • PKey, Renvoie l'objet contenant la clé privée générée

genSm2Key

Générer une clé privée SM2

1
static PKey crypto.genSm2Key() async;

Résultat de retour :

  • PKey, Renvoie l'objet contenant la clé privée générée

pbkdf1

Générer la clé binaire requise selon pbkdf1 selon le mot de passe en clair

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

Paramètres d'appel :

  • password: Buffer, Spécifiez le mot de passe utilisé
  • salt: Buffer, Spécifiez le sel utilisé par hmac
  • iterations: Entier, spécifiez le nombre d'itérations
  • size: Entier, spécifiez la taille de la clé
  • algo: Entier, spécifiez ce qu'il faut utiliser hash Algorithme, voir hash Module

Résultat de retour :

  • Buffer, Renvoie la clé binaire générée

Générer la clé binaire requise selon pbkdf1 selon le mot de passe en clair

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

Paramètres d'appel :

  • password: Buffer, Spécifiez le mot de passe utilisé
  • salt: Buffer, Spécifiez le sel utilisé par hmac
  • iterations: Entier, spécifiez le nombre d'itérations
  • size: Entier, spécifiez la taille de la clé
  • algoName: chaîne, spécifiez ce qu'il faut utiliser hash Algorithme, voir hash Module

Résultat de retour :

  • Buffer, Renvoie la clé binaire générée

pbkdf2

Selon rfc2898, générez la clé binaire requise en fonction du mot de passe en clair

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

Paramètres d'appel :

  • password: Buffer, Spécifiez le mot de passe utilisé
  • salt: Buffer, Spécifiez le sel utilisé par hmac
  • iterations: Entier, spécifiez le nombre d'itérations
  • size: Entier, spécifiez la taille de la clé
  • algo: Entier, spécifiez ce qu'il faut utiliser hash Algorithme, voir hash Module

Résultat de retour :

  • Buffer, Renvoie la clé binaire générée

Selon rfc2898, générez la clé binaire requise en fonction du mot de passe en clair

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

Paramètres d'appel :

  • password: Buffer, Spécifiez le mot de passe utilisé
  • salt: Buffer, Spécifiez le sel utilisé par hmac
  • iterations: Entier, spécifiez le nombre d'itérations
  • size: Entier, spécifiez la taille de la clé
  • algoName: chaîne, spécifiez ce qu'il faut utiliser hash Algorithme, voir hash Module

Résultat de retour :

  • Buffer, Renvoie la clé binaire générée

getHashes

Obtenez le support du module crypto hash(Résumé) Algorithmes, tels que'md5','sha224'

1
static Array crypto.getHashes();

Résultat de retour :

  • Array, Retour au support fibjs hash Tableau d'algorithmes

constant

AES

Spécifiez l'algorithme de chiffrement symétrique AES, prend en charge les clés 128, 192, 256 bits, le mode de travail de chiffrement par bloc prend en charge ECB, CBC, CFB128, CTR, GCM, CCM, XTS

1
const crypto.AES = 1;

CAMELLIA

Spécifiez l'algorithme de cryptage symétrique CAMELLIA, prend en charge les clés 128, 192, 256 bits, le mode de travail de chiffrement par bloc prend en charge ECB, CBC, CFB128, CTR, GCM, CCM

1
const crypto.CAMELLIA = 2;

DES

Spécifier l'algorithme de chiffrement symétrique DES, prendre en charge la clé 64 bits, le mode de travail de chiffrement par bloc prend en charge ECB, CBC

1
const crypto.DES = 3;

DES_EDE

Spécifier l'algorithme de chiffrement symétrique DES-EDE, prendre en charge la clé 128 bits, le mode de travail du chiffrement par bloc prend en charge ECB, CBC

1
const crypto.DES_EDE = 4;

DES_EDE3

Spécifiez l'algorithme de chiffrement symétrique DES-EDE3, prend en charge la clé 192 bits, le mode de travail du chiffrement par bloc prend en charge ECB, CBC

1
const crypto.DES_EDE3 = 5;

BLOWFISH

Spécifier l'algorithme de cryptage symétrique BLOWFISH, prendre en charge la clé 192 bits, le mode de travail de chiffrement par bloc prend en charge ECB, CBC, CFB64, CTR

1
const crypto.BLOWFISH = 6;

ARC4

Spécifier l'algorithme de cryptage symétrique ARC4, prendre en charge les clés 40, 56, 64, 128 bits

1
const crypto.ARC4 = 7;

ARIA

Spécifiez l'algorithme de chiffrement symétrique ARIA, prend en charge les clés 128, 192, 256 bits, le mode de travail du chiffrement par bloc prend en charge ECB, CBC, CFB128, CTR, GCM, CCM

1
const crypto.ARIA = 8;

CHACHA20

Spécifier l'algorithme de cryptage symétrique CHACHA20, prendre en charge la clé 256 bits, le mode de travail de chiffrement par bloc prend en charge POLY1305

1
const crypto.CHACHA20 = 9;

SM4

Spécifiez l'algorithme de chiffrement symétrique SM4, le mode de fonctionnement du chiffrement par bloc prend en charge ECB, CBC

1
const crypto.SM4 = 10;

ECB

Le mode de fonctionnement du chiffrement par bloc désigné prend en charge la BCE

1
const crypto.ECB = 1;

CBC

Le mode de fonctionnement du chiffrement par bloc désigné prend en charge CBC

1
const crypto.CBC = 2;

CFB64

Le mode de fonctionnement du chiffrement par bloc désigné prend en charge CFB64

1
const crypto.CFB64 = 3;

CFB128

Le mode de fonctionnement du chiffrement par bloc désigné prend en charge CFB128

1
const crypto.CFB128 = 4;

OFB

Le mode de fonctionnement du chiffrement par bloc désigné prend en charge l'OFB

1
const crypto.OFB = 5;

CTR

Le mode de fonctionnement du chiffrement par bloc désigné prend en charge le CTR

1
const crypto.CTR = 6;

GCM

Le mode de fonctionnement du chiffrement par bloc désigné prend en charge GCM

1
const crypto.GCM = 7;

STREAM

Spécifier le mode de chiffrement de flux

1
const crypto.STREAM = 8;

CCM

Le mode de fonctionnement du chiffrement par bloc désigné prend en charge le CCM

1
const crypto.CCM = 9;

XTS

Le mode de fonctionnement du chiffrement par bloc désigné prend en charge XTS

1
const crypto.XTS = 10;

POLY1305

Le mode de fonctionnement du chiffrement par bloc désigné prend en charge POLY1305

1
const crypto.POLY1305 = 11;

PKCS7

Spécifiez le mode de remplissage comme PKCS7

1
const crypto.PKCS7 = 0;

ONE_AND_ZEROS

Spécifiez le mode de remplissage comme ONE_AND_ZEROS

1
const crypto.ONE_AND_ZEROS = 1;

ZEROS_AND_LEN

Spécifiez le mode de remplissage comme ZEROS_AND_LEN

1
const crypto.ZEROS_AND_LEN = 2;

ZEROS

Spécifiez le mode de remplissage comme ZERO

1
const crypto.ZEROS = 3;

NOPADDING

Spécifiez le mode de remplissage comme NOPADDING

1
const crypto.NOPADDING = 4;