Modulo cripto
Modulo algoritmo di crittografia
Istruzioni:
1var crypto = require('crypto');
Oggetto
Cipher
Cipher Costruttore, vedi Cipher
1Cipher crypto.Cipher;
PKey
1PKey crypto.PKey;
X509Cert
X509Cert Costruttore, vedi X509Cert
1X509Cert crypto.X509Cert;
X509Crl
X509Crl Costruttore, vedi X509Crl
1X509Crl crypto.X509Crl;
X509Req
X509Req Costruttore, vedi X509Req
1X509Req crypto.X509Req;
Funzione statica
createHash
Crea un oggetto di riepilogo delle informazioni basato sul nome dell'algoritmo dato
1static Digest crypto.createHash(String algo);
Parametri di chiamata:
- algo: String, specifica l'algoritmo dell'oggetto digest del messaggio
Risultato di ritorno:
- Digest, Restituisci l'oggetto di riepilogo delle informazioni
createHmac
Crea un oggetto digest di informazioni hmac basato sul nome dell'algoritmo dato
1
2static Digest crypto.createHmac(String algo,
Buffer key);
Parametri di chiamata:
- algo: String, specifica l'algoritmo dell'oggetto digest del messaggio
- key: Buffer, Chiave di firma binaria
Risultato di ritorno:
- Digest, Restituisci l'oggetto di riepilogo delle informazioni
loadPKey
Carica un file chiave in formato PEM/DER
1
2static PKey crypto.loadPKey(String filename,
String password = "");
Parametri di chiamata:
- filename: Stringa, nome file chiave
- password: Stringa, decifra la password
Risultato di ritorno:
- PKey, Restituisce un oggetto contenente la chiave
loadCert
Carica un certificato in formato CRT/PEM/DER/TXT, che può essere chiamato più volte
1static X509Cert crypto.loadCert(String filename);
Parametri di chiamata:
- filename: Stringa, nome file del certificato
Risultato di ritorno:
- X509Cert, Restituisce l'oggetto contenente il certificato
loadFile carica certdata,txt di mozilla, che può essere scaricato e utilizzato all'indirizzo http://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt
loadCrl
Carica un certificato di revoca in formato PEM/DER, che può essere richiamato più volte
1static X509Crl crypto.loadCrl(String filename);
Parametri di chiamata:
- filename: Stringa, nome file del certificato revocato
Risultato di ritorno:
- X509Crl, Restituisce l'oggetto contenente il certificato revocato
loadReq
Carica una richiesta di certificato in formato PEM/DER, che può essere richiamata più volte
1static X509Req crypto.loadReq(String filename);
Parametri di chiamata:
- filename: Stringa, nome del file di richiesta del certificato
Risultato di ritorno:
- X509Req, Restituisce l'oggetto contenente il certificato richiesto
randomBytes
Genera numeri casuali della dimensione specificata, usa il generatore di hase
1static Buffer crypto.randomBytes(Integer size) async;
Parametri di chiamata:
- size: Intero, specifica la dimensione del numero casuale generato
Risultato di ritorno:
- Buffer, Restituisce il numero casuale generato
simpleRandomBytes
Genera un numero casuale a bassa intensità di una dimensione specificata, utilizzando un algoritmo veloce
1static Buffer crypto.simpleRandomBytes(Integer size) async;
Parametri di chiamata:
- size: Intero, specifica la dimensione del numero casuale generato
Risultato di ritorno:
- Buffer, Restituisce il numero casuale generato
pseudoRandomBytes
Genera numeri pseudo-casuali di dimensioni specificate, usando il generatore di entropia
1static Buffer crypto.pseudoRandomBytes(Integer size) async;
Parametri di chiamata:
- size: Intero, specifica la dimensione del numero casuale generato
Risultato di ritorno:
- Buffer, Restituisce il numero casuale generato
randomArt
Genera un'immagine di carattere visivo dei dati forniti
1
2
3static String crypto.randomArt(Buffer data,
String title,
Integer size = 8);
Parametri di chiamata:
- data: Buffer, Specificare i dati da visualizzare
- title: String, specifica il titolo dell'immagine del carattere, i caratteri multibyte causeranno un errore di larghezza
- size: numero intero, dimensione dell'immagine del carattere
Risultato di ritorno:
- String, Restituisce l'immagine della stringa visiva generata
genRsaKey
Genera una chiave privata RSA
1static PKey crypto.genRsaKey(Integer size) async;
Parametri di chiamata:
- size: Intero, specifica la lunghezza della chiave RSA, bit come unità
Risultato di ritorno:
- PKey, Restituisce l'oggetto contenente la chiave privata generata
genEcKey
Genera una chiave privata EC
1static PKey crypto.genEcKey(String curve = "secp521r1") async;
Parametri di chiamata:
- curve: Stringa, specificare la curva ellittica preimpostata, i valori opzionali sono: "secp521r1", "brainpoolP512r1", "secp384r1", "brainpoolP384r1", "secp256r1", "secp256k1", "brainpoolP256r1", "secp224r1", "secp224k1", "secp192r1", "secp192k1"
Risultato di ritorno:
- PKey, Restituisce l'oggetto contenente la chiave privata generata
genSm2Key
Genera una chiave privata SM2
1static PKey crypto.genSm2Key() async;
Risultato di ritorno:
- PKey, Restituisce l'oggetto contenente la chiave privata generata
pbkdf1
Genera la chiave binaria richiesta secondo pbkdf1 secondo la password in chiaro
1
2
3
4
5static Buffer crypto.pbkdf1(Buffer password,
Buffer salt,
Integer iterations,
Integer size,
Integer algo) async;
Parametri di chiamata:
- password: Buffer, Specificare la password utilizzata
- salt: Buffer, Specificare il sale usato da hmac
- iterations: Intero, specifica il numero di iterazioni
- size: Intero, specifica la dimensione della chiave
- algo: Intero, specifica cosa usare hash Algoritmo, vedi hash Modulo
Risultato di ritorno:
- Buffer, Restituisce la chiave binaria generata
Genera la chiave binaria richiesta secondo pbkdf1 secondo la password in chiaro
1
2
3
4
5static Buffer crypto.pbkdf1(Buffer password,
Buffer salt,
Integer iterations,
Integer size,
String algoName) async;
Parametri di chiamata:
- password: Buffer, Specificare la password utilizzata
- salt: Buffer, Specificare il sale usato da hmac
- iterations: Intero, specifica il numero di iterazioni
- size: Intero, specifica la dimensione della chiave
- algoName: Stringa, specifica cosa usare hash Algoritmo, vedi hash Modulo
Risultato di ritorno:
- Buffer, Restituisce la chiave binaria generata
pbkdf2
Secondo rfc2898, genera la chiave binaria richiesta in base alla password in chiaro
1
2
3
4
5static Buffer crypto.pbkdf2(Buffer password,
Buffer salt,
Integer iterations,
Integer size,
Integer algo) async;
Parametri di chiamata:
- password: Buffer, Specificare la password utilizzata
- salt: Buffer, Specificare il sale usato da hmac
- iterations: Intero, specifica il numero di iterazioni
- size: Intero, specifica la dimensione della chiave
- algo: Intero, specifica cosa usare hash Algoritmo, vedi hash Modulo
Risultato di ritorno:
- Buffer, Restituisce la chiave binaria generata
Secondo rfc2898, genera la chiave binaria richiesta in base alla password in chiaro
1
2
3
4
5static Buffer crypto.pbkdf2(Buffer password,
Buffer salt,
Integer iterations,
Integer size,
String algoName) async;
Parametri di chiamata:
- password: Buffer, Specificare la password utilizzata
- salt: Buffer, Specificare il sale usato da hmac
- iterations: Intero, specifica il numero di iterazioni
- size: Intero, specifica la dimensione della chiave
- algoName: Stringa, specifica cosa usare hash Algoritmo, vedi hash Modulo
Risultato di ritorno:
- Buffer, Restituisce la chiave binaria generata
getHashes
Ottieni il supporto del modulo crittografico hash(Astratto) Algoritmi, come'md5','sha224'
1static Array crypto.getHashes();
Risultato di ritorno:
- Array, Torna al supporto di fibjs hash Algoritmo array
costante
AES
Specifica l'algoritmo di crittografia simmetrica AES, supporta chiavi a 128, 192, 256 bit, la modalità di lavoro con cifratura a blocchi supporta ECB, CBC, CFB128, CTR, GCM, CCM, XTS
1const crypto.AES = 1;
CAMELLIA
Specifica l'algoritmo di crittografia simmetrica CAMELIA, supporta chiavi a 128, 192, 256 bit, la modalità di lavoro con cifratura a blocchi supporta ECB, CBC, CFB128, CTR, GCM, CCM
1const crypto.CAMELLIA = 2;
DES
Specifica l'algoritmo di crittografia simmetrica DES, supporta la chiave a 64 bit, la modalità di lavoro con cifratura a blocchi supporta ECB, CBC
1const crypto.DES = 3;
DES_EDE
Specifica l'algoritmo di crittografia simmetrica DES-EDE, supporta la chiave a 128 bit, la modalità di lavoro con cifratura a blocchi supporta ECB, CBC
1const crypto.DES_EDE = 4;
DES_EDE3
Specificare l'algoritmo di crittografia simmetrica DES-EDE3, supportare la chiave a 192 bit, la modalità di lavoro con cifratura a blocchi supporta ECB, CBC
1const crypto.DES_EDE3 = 5;
BLOWFISH
Specifica l'algoritmo di crittografia simmetrica BLOWFISH, supporta la chiave a 192 bit, la modalità di lavoro con cifratura a blocchi supporta ECB, CBC, CFB64, CTR
1const crypto.BLOWFISH = 6;
ARC4
Specifica l'algoritmo di crittografia simmetrica ARC4, supporta chiavi a 40, 56, 64, 128 bit
1const crypto.ARC4 = 7;
ARIA
Specifica l'algoritmo di crittografia simmetrica ARIA, supporta chiavi a 128, 192, 256 bit, la modalità di lavoro con cifratura a blocchi supporta ECB, CBC, CFB128, CTR, GCM, CCM
1const crypto.ARIA = 8;
CHACHA20
Specificare l'algoritmo di crittografia simmetrica CHACHA20, supportare la chiave a 256 bit, la modalità di lavoro con cifratura a blocchi supporta POLY1305
1const crypto.CHACHA20 = 9;
SM4
Specificare l'algoritmo di crittografia simmetrica SM4, la modalità di funzionamento della crittografia a blocchi supporta ECB, CBC
1const crypto.SM4 = 10;
ECB
La modalità di funzionamento della cifratura a blocchi designata supporta ECB
1const crypto.ECB = 1;
CBC
La modalità di funzionamento della cifratura a blocchi designata supporta CBC
1const crypto.CBC = 2;
CFB64
La modalità di funzionamento della cifratura a blocchi designata supporta CFB64
1const crypto.CFB64 = 3;
CFB128
La modalità di funzionamento della cifratura a blocchi designata supporta CFB128
1const crypto.CFB128 = 4;
OFB
La modalità di funzionamento della cifratura a blocchi designata supporta OFB
1const crypto.OFB = 5;
CTR
La modalità di funzionamento della cifratura a blocchi designata supporta CTR
1const crypto.CTR = 6;
GCM
La modalità di funzionamento della cifratura a blocchi designata supporta GCM
1const crypto.GCM = 7;
STREAM
Specifica la modalità di cifratura del flusso
1const crypto.STREAM = 8;
CCM
La modalità di funzionamento della cifratura a blocchi designata supporta CCM
1const crypto.CCM = 9;
XTS
La modalità di funzionamento della cifratura a blocchi designata supporta XTS
1const crypto.XTS = 10;
POLY1305
La modalità di funzionamento della cifratura a blocchi designata supporta POLY1305
1const crypto.POLY1305 = 11;
PKCS7
Specificare la modalità di riempimento come PKCS7
1const crypto.PKCS7 = 0;
ONE_AND_ZEROS
Specifica la modalità di riempimento come ONE_AND_ZEROS
1const crypto.ONE_AND_ZEROS = 1;
ZEROS_AND_LEN
Specifica la modalità di riempimento come ZEROS_AND_LEN
1const crypto.ZEROS_AND_LEN = 2;
ZEROS
Specificare la modalità di riempimento come ZERO
1const crypto.ZEROS = 3;
NOPADDING
Specificare la modalità di riempimento come NOPADDING
1const crypto.NOPADDING = 4;