Use requirir ('crypto') para llamar al módulo de cifrado.
El módulo de cifrado requiere el soporte de OpenSSL del sistema subyacente. Proporciona una forma de encapsular las credenciales de seguridad, que se pueden utilizar para redes seguras HTTPS y conexiones HTTP ordinarias.
El módulo también proporciona un conjunto de encapsulaciones para el hash (hash), HMAC (hash clave), cifrado (codificación), descifrado (decodificación), signo (signo) y verificación (verificación).
crypto.createCredentials (detalles)
Cree un objeto de credencial con detalles de parámetros opcionales como un diccionario con valores clave:
Clave: una clave privada que es tipo cadena, codificada por PEM.
CERT: un tipo de cadena, Certificado de autenticación codificado PEM.
CA: un certificado de CA de confianza codificado PEM en formulario de cadena, o una lista de certificados.
Si no se dan detalles de 'CA', Node.js utilizará la lista pública predeterminada de confianza, que se encuentra en http://mxr.mozilla.org/mozilla/source/security/nss/lib/ckfw/builtins/certdata.txt.
crypto.createhash (algoritmo)
Crea y devuelve un objeto hash, que es un hash cifrado del algoritmo especificado, utilizado para generar un digestor hash.
El algoritmo de parámetro puede seleccionar el algoritmo admitido por la versión OpenSSL instalada en el sistema. Por ejemplo: 'SHA1', 'MD5', 'SHA256', 'SHA512', etc. En lanzamientos recientes, OpenSSL List-Message-Digest-Algorithms muestra estos algoritmos de resumen disponibles.
hash.update (datos)
Actualice el contenido del hash a los datos especificados. Este método puede llamarse varias veces al usar datos de transmisión.
Hash.digest (coding = 'binario')
Calcula el resumen hash de todos los datos entrantes. El parámetro de codificación puede ser 'hex', 'binario' o 'base64'.
crypto.createhmac (algoritmo, clave)
Crea y devuelve un objeto HMAC, que es un HMAC cifrado que especifica el algoritmo y la clave.
El algoritmo de parámetro se puede seleccionar mediante OpenSSL-See CreateHash arriba. La tecla de parámetro es la clave utilizada por HMAC.
hmac.update (datos)
Actualice el contenido de HMAC a los datos especificados. Este método puede llamarse varias veces al usar datos de transmisión.
hmac.digest (coding = 'binario')
Calcula el resumen HMAC de todos los datos entrantes. El parámetro de codificación puede ser 'hex', 'binario' o 'base64'.
crypto.createCipher (algoritmo, clave)
Cree y devuelva un objeto CIPHER utilizando el algoritmo y la tecla especificados.
El algoritmo de parámetros puede seleccionar algoritmos compatibles con OpenSSL, como 'AES192', etc. En las versiones recientes, OpenSSL List-Cipher-Algorithms muestra los algoritmos de cifrado disponibles.
cipher.update (data, input_encoding = 'binary', output_encoding = 'binary')
Use datos de parámetros para actualizar el contenido para estar encriptado, y su método de codificación se especifica mediante parámetros input_encoding, que puede ser 'UTF8', 'ASCII' o 'binario'. El parámetro output_Encoding especifica el método de codificación de salida del contenido cifrado, que puede ser 'binario', 'base64' o 'hex'.
Devuelve el contenido cifrado, que puede llamarse varias veces al usar datos de transmisión.
cipher.final (output_encoding = 'binary')
Devuelve todo el contenido cifrado restante, la salida Output_Encoding está codificada como una de 'binario', 'ASCII' o 'UTF8'.
crypto.createDecipher (algoritmo, clave)
Cree y devuelva un objeto descifrado utilizando el algoritmo y la clave dados. Este objeto es la operación inversa del objeto cifrado mencionado anteriormente.
decipher.update (data, input_encoding = 'binary', output_encoding = 'binary')
Use datos de parámetros para actualizar el contenido para descifrar, y su codificación es 'binaria', 'base64' o 'hex'. La salida del parámetro_Encoding especifica el método de codificación de salida del contenido de texto sin formato descifrado, que puede ser 'binario', 'ASCII' o 'UTF8'.
decipher.final (output_encoding = 'binary')
Devuelve todos los texto sin formato descifrados restantes, cuya salida_coding 'es una de' binaria ',' ASCII 'o' UTF8 ''.
crypto.createsign (algoritmo)
Cree y devuelva un objeto de firma utilizando el algoritmo dado. En las distribuciones OpenSSL existentes, OpenSSL List-Public-Key-Algorithms muestra algoritmos de firma disponibles, como: 'RSA-SHA256'.
firmador.update (datos)
Actualice el objeto de firma con el parámetro de datos. Este método puede llamarse varias veces al usar datos de transmisión.
Signer.sign (private_key, output_format = 'binary')
Calcule su firma para todos los datos pasados a la firma. Private_Key es una cadena que contiene la clave privada codificada por PEM para la firma.
Devuelve la firma, cuya salida de output_format puede ser 'binaria', 'hex' o 'base64'.
crypto.createverify (algoritmo)
Cree y devuelva un objeto de validador utilizando el algoritmo dado. Es la operación inversa del objeto de firma anterior.
verificador.update (datos)
Actualice el objeto Validador con el parámetro de datos. Este método puede llamarse varias veces al usar datos de transmisión.
Verify.verify (cert, firma, firature_format = 'binary')
Use el certificado de parámetros y la firma para verificar los datos firmados. CERT es una cadena de clave pública codificada por PEM, la firma es la firma de los datos previamente calculados y Signature_Format puede ser 'binario', 'hex' o 'base64'.
Devuelve verdadero o falso de acuerdo con los resultados de la verificación de validez de la firma de los datos y la clave pública.
Cómo escribir un código de cifrado irreversible cuando lo necesite
La copia del código es la siguiente:
Var Text = "123 | 12312312123123121231231212312312312123123123123121231231231231231212312312312312123123123123123123123121231231231231212312312312312312312312312312312312312312
var Hasher = crypto.createhash ("md5");
Hasher.update (texto);
var hashmsg = Hasher.digest ('hex'); // hashmsg es los datos cifrados
Cuando necesite un entorno encriptado y descifrado
La copia del código es la siguiente:
var key = "asdhjwhereu*asd123-123"; // clave secreta cifrada
Var Text = "123 | 12312312123123121231231212312312312123123123123121231231231231231212312312312312123123123123123123123121231231231231212312312312312312312312312312312312312312
var crypted = cipher.update (texto, 'utf8', 'hex');
crypted+= cipher.final ('hex');
VAR Mensaje = Crypted; // El valor después del cifrado
var decifher = crypto.createDecipher ('aes-256-cbc', clave);
var dec = decipher.update (mensaje, 'hex', 'utf8');
DEC+= Decipher.Final ('UTF8'); // El valor después del descifrado
PD: Con respecto a la tecnología de cifrado, este sitio también proporciona las siguientes herramientas de cifrado para su referencia:
Herramienta de cifrado en línea MD5: http://tools.vevb.com/password/createmd5password
Herramienta de cifrado/descifrado de escape: http://tools.vevb.com/password/escapepwd
Herramienta de cifrado SHA1 en línea: http://tools.vevb.com/password/sha1encode
Enlace corto (URL corta) Herramienta de generación en línea: http://tools.vevb.com/password/dwzcreate
Enlace corto (URL corto) Herramienta de restauración en línea: http://tools.vevb.com/password/unshorturl
Generador de contraseñas de alta resistencia: http://tools.vevb.com/password/createstrontepassword