Mòdul base mòdul

mòdul criptogràfic

mòdul d'algorisme de xifratge

Instruccions:

1
var crypto = require('crypto');

objecte

Cipher

Cipherconstructor, veureCipher

1
Cipher crypto.Cipher;

PKey

PKeyconstructor, veurePKey

1
PKey crypto.PKey;

X509Cert

X509Certconstructor, veureX509Cert

1
X509Cert crypto.X509Cert;

X509Crl

X509Crlconstructor, veureX509Crl

1
X509Crl crypto.X509Crl;

X509Req

X509Reqconstructor, veureX509Req

1
X509Req crypto.X509Req;

funció estàtica

createHash

Crea un objecte de resum de missatges a partir del nom d'algorisme donat

1
static Digest crypto.createHash(String algo);

Paràmetres de trucada:

  • algo: String, especifica l'algorisme per a l'objecte de resum del missatge

Resultat de retorn:

  • Digest, retorna un objecte de resum del missatge

createHmac

Crea un objecte de resum de missatges hmac a partir del nom d'algorisme donat

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

Paràmetres de trucada:

  • algo: String, especifica l'algorisme per a l'objecte de resum del missatge
  • key:Buffer, la clau de signatura binària

Resultat de retorn:

  • Digest, retorna un objecte de resum del missatge

loadCert

Carregueu un certificat en format CRT/PEM/DER/TXT, que es pot cridar diverses vegades

1
static X509Cert crypto.loadCert(String filename);

Paràmetres de trucada:

  • filename: cadena, nom del fitxer del certificat

Resultat de retorn:

  • X509Cert, retorna un objecte que conté el certificat

loadFile carrega les dades certdata de Mozilla, txt, que es poden descarregar des de http://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt


loadCrl

Carrega un certificat revocat en format PEM/DER, que es pot cridar diverses vegades

1
static X509Crl crypto.loadCrl(String filename);

Paràmetres de trucada:

  • filename: cadena, nom del fitxer del certificat de revocació

Resultat de retorn:

  • X509Crl, retorna un objecte que conté el certificat revocat

loadReq

Carregueu una sol·licitud de certificat en format PEM/DER, que es pot cridar diverses vegades

1
static X509Req crypto.loadReq(String filename);

Paràmetres de trucada:

  • filename: cadena, nom del fitxer de sol·licitud de certificat

Resultat de retorn:

  • X509Req, retorna un objecte que conté el certificat sol·licitat

randomBytes

Genereu números aleatoris de la mida especificada, utilitzant el generador havege

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

Paràmetres de trucada:

  • size: Enter, especifica la mida del nombre aleatori a generar

Resultat de retorn:

  • Buffer, retorna el nombre aleatori generat

simpleRandomBytes

Genereu números aleatoris de baixa intensitat de la mida especificada, utilitzant un algorisme ràpid

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

Paràmetres de trucada:

  • size: Enter, especifica la mida del nombre aleatori a generar

Resultat de retorn:

  • Buffer, retorna el nombre aleatori generat

pseudoRandomBytes

Genereu números pseudoaleatoris de la mida especificada, utilitzant el generador d'entropia

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

Paràmetres de trucada:

  • size: Enter, especifica la mida del nombre aleatori a generar

Resultat de retorn:

  • Buffer, retorna el nombre aleatori generat

randomFill

Omple l'especificat amb nombres aleatorisBuffer, utilitzant el generador havege

1 2 3
static Buffer crypto.randomFill(Buffer buffer, Integer offset = 0, Integer size = -1) async;

Paràmetres de trucada:

  • buffer:Buffer, especificant el generatBuffer
  • offset: Sencer, especifiqueu el desplaçament inicial, el valor per defecte és 0
  • size: Enter, especifica la mida del nombre aleatori generat, el valor per defecte és buffer.length - offset

Resultat de retorn:

  • Buffer, retorna el nombre aleatori generat

randomArt

Generar una imatge de caràcter visual de les dades donades

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

Paràmetres de trucada:

  • data:Buffer, especifiqueu les dades que voleu mostrar
  • title: Cadena, especifica el títol de la imatge del caràcter, els caràcters de diversos bytes provocaran una amplada incorrecta
  • size: Sencer, mida de la imatge del caràcter

Resultat de retorn:

  • String, retorna la imatge de cadena de visualització generada

generateKey

Genereu una clau privada RSA

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

Paràmetres de trucada:

  • size: Enter, especifiqueu la longitud de la clau RSA, en bits

Resultat de retorn:

  • PKey, retorna un objecte que conté la clau privada generada

Genereu una clau privada de corba el·líptica

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

Paràmetres de trucada:

  • curve: Cadena, especifiqueu la corba el·líptica predeterminada, el valor per defecte és 'secp256r1'

Resultat de retorn:

  • PKey, retorna un objecte que conté la clau privada generada

corba Les corbes opcionals inclouen corbes NIST i àlies de la següent manera:

corba àlies
NIST P-192 "NIST P-192", "p192", "P-192", "prime192v1", "secp192r1"
NIST P-224 "NIST P-224", "p224", "P-224", "prime224v1", "secp224r1"
NIST P-256 "NIST P-256", "p256", "P-256", "prime256v1", "secp256r1"
NIST P-384 "NIST P-384", "p384", "P-384", "prime384v1", "secp384r1"
NIST P-521 "NIST P-521", "p521", "P-521", "prime521v1", "secp521r1"

Altres corbes compatibles inclouen: "brainpoolP512r1", "brainpoolP384r1", "secp256k1", "P-256K", "brainpoolP256r1", "sm2p256r1", "SM2", "Ed25519", "BLS12381_G1" "BLS12381_G1" "BLS1223", "81_G223".


pbkdf1

Genereu la clau binària necessària a partir de la contrasenya de text sense format segons pbkdf1

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

Paràmetres de trucada:

  • password:Buffer, especifiqueu la contrasenya que voleu utilitzar
  • salt:Buffer, especifica la sal utilitzada per hmac
  • iterations: Enter, especifica el nombre d'iteracions
  • size: Sencer, especifiqueu la mida de la clau
  • algo: Enter, especifica quin s'ha d'utilitzarhashalgorisme, vegeuhashmòdul

Resultat de retorn:

  • Buffer, retorna la clau binària generada

Genereu la clau binària necessària a partir de la contrasenya de text sense format segons pbkdf1

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

Paràmetres de trucada:

  • password:Buffer, especifiqueu la contrasenya que voleu utilitzar
  • salt:Buffer, especifica la sal utilitzada per hmac
  • iterations: Enter, especifica el nombre d'iteracions
  • size: Sencer, especifiqueu la mida de la clau
  • algoName: Cadena, especificant quina s'ha d'utilitzarhashalgorisme, vegeuhashmòdul

Resultat de retorn:

  • Buffer, retorna la clau binària generada

pbkdf2

Genereu la clau binària necessària a partir de la contrasenya de text sense format segons rfc2898

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

Paràmetres de trucada:

  • password:Buffer, especifiqueu la contrasenya que voleu utilitzar
  • salt:Buffer, especifica la sal utilitzada per hmac
  • iterations: Enter, especifica el nombre d'iteracions
  • size: Sencer, especifiqueu la mida de la clau
  • algo: Enter, especifica quin s'ha d'utilitzarhashalgorisme, vegeuhashmòdul

Resultat de retorn:

  • Buffer, retorna la clau binària generada

Genereu la clau binària necessària a partir de la contrasenya de text sense format segons rfc2898

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

Paràmetres de trucada:

  • password:Buffer, especifiqueu la contrasenya que voleu utilitzar
  • salt:Buffer, especifica la sal utilitzada per hmac
  • iterations: Enter, especifica el nombre d'iteracions
  • size: Sencer, especifiqueu la mida de la clau
  • algoName: Cadena, especificant quina s'ha d'utilitzarhashalgorisme, vegeuhashmòdul

Resultat de retorn:

  • Buffer, retorna la clau binària generada

getHashes

Admet el mòdul criptogràfichashalgorisme (resum), per exemple, 'md5', 'sha224'

1
static Array crypto.getHashes();

Resultat de retorn:

  • Array, retorna fibjs compatibleshashMatriu d'algoritmes

constant

AES

Especifiqueu l'algorisme de xifratge simètric AES, admet claus de 128, 192, 256 bits, el mode de treball de xifratge de blocs admet ECB, CBC, CFB128, CTR, GCM, CCM, XTS

1
const crypto.AES = 1;

DES

Especifiqueu l'algoritme de xifratge simètric DES, admet clau de 64 bits, el mode de treball de xifratge de blocs admet ECB, CBC

1
const crypto.DES = 2;

DES_EDE3

Especifiqueu l'algorisme de xifratge simètric DES-EDE3, admet clau de 192 bits, el mode de treball de xifratge de blocs admet ECB, CBC

1
const crypto.DES_EDE3 = 3;

CAMELLIA

Especifiqueu l'algorisme de xifratge simètric CAMELLIA, admet claus de 128, 192, 256 bits, el mode de treball de xifratge de blocs admet ECB, CBC, CFB128, CTR, GCM, CCM

1
const crypto.CAMELLIA = 4;

ARIA

Especifiqueu l'algorisme de xifratge simètric ARIA, admet claus de 128, 192, 256 bits, el mode de treball de xifratge de blocs admet ECB, CBC, CFB128, CTR, GCM, CCM

1
const crypto.ARIA = 5;

CHACHA20

Especifiqueu l'algoritme de xifratge simètric CHACHA20, admet clau de 256 bits i admet POLY1305 en mode de treball de xifratge de blocs

1
const crypto.CHACHA20 = 6;

SM4

Especifiqueu l'algorisme de xifratge simètric SM4, el mode de treball de xifratge de blocs admet ECB, CBC

1
const crypto.SM4 = 7;

ECB

Especifiqueu el mode de treball de xifrat de blocs per admetre ECB

1
const crypto.ECB = 1;

CBC

Especifiqueu el mode de treball de xifratge de blocs per admetre CBC

1
const crypto.CBC = 2;

CFB64

Especifiqueu el mode de treball de xifrat de blocs per admetre CFB64

1
const crypto.CFB64 = 3;

CFB128

Especifiqueu el mode de treball de xifrat de blocs per admetre CFB128

1
const crypto.CFB128 = 4;

OFB

Especifica que el mode de treball de xifratge de blocs admet OFB

1
const crypto.OFB = 5;

CTR

Especifica que el mode de treball de xifratge de blocs admet CTR

1
const crypto.CTR = 6;

GCM

Especifiqueu el mode de treball de xifrat de blocs per admetre GCM

1
const crypto.GCM = 7;

STREAM

Especifica el mode de xifratge de flux

1
const crypto.STREAM = 8;

CCM

Especifiqueu el mode de treball de xifrat de blocs per admetre CCM

1
const crypto.CCM = 9;

XTS

Especifiqueu el mode de treball de xifrat de blocs per admetre XTS

1
const crypto.XTS = 10;

POLY1305

Especifiqueu el mode de treball de xifrat de blocs per admetre POLY1305

1
const crypto.POLY1305 = 11;

PKCS7

Especifiqueu el mode de farciment com a PKCS7

1
const crypto.PKCS7 = 0;

ONE_AND_ZEROS

Especifiqueu el mode d'ompliment com a ONE_AND_ZEROS

1
const crypto.ONE_AND_ZEROS = 1;

ZEROS_AND_LEN

Especifiqueu el mode d'ompliment com a ZEROS_AND_LEN

1
const crypto.ZEROS_AND_LEN = 2;

ZEROS

Especifiqueu el mode d'ompliment com a ZEROS

1
const crypto.ZEROS = 3;

NOPADDING

Especifiqueu el mode de farciment com NOPAADDING

1
const crypto.NOPADDING = 4;