Nodejs教程-Node.js的Crypto模块支持加密功能。它提供了加密功能,包括一组对OpenSSL的哈希HMAC、密码、解密、签名和验证函数的封装。

什么是哈希?

哈希是一种固定长度的位串,即从某个任意的源数据块中以程序化和确定性的方式生成的。

什么是HMAC?

HMAC是Hash-based Message Authentication Code的缩写。它是一种将哈希算法应用于数据和秘密密钥的过程,最终生成一个单一的哈希。

使用哈希和HMAC进行加密示例

文件:crypto_example1.js

const crypto = require('crypto');
const secret = 'abcdefg';
const hash = crypto.createHmac('sha256', secret)
            .update('Welcome to JavaTpoint')
            .digest('hex');
console.log(hash);

在Node.js命令提示符中运行以下代码:

node crypto_example1.js

1.png

使用密码进行加密示例

文件:crypto_example2.js

const crypto = require('crypto');
const cipher = crypto.createCipher('aes192', 'a password');
var encrypted = cipher.update('Hello JavaTpoint', 'utf8', 'hex');
encrypted += cipher.final('hex');
console.log(encrypted);

在Node.js命令提示符中运行以下代码:

node crypto_example2.js

2.png

使用解密进行解密示例

文件:crypto_example3.js

const crypto = require('crypto');
const decipher = crypto.createDecipher('aes192', 'a password');
var encrypted = '4ce3b761d58398aed30d5af898a0656a3174d9c7d7502e781e83cf6b9fb836d5';
var decrypted = decipher.update(encrypted, 'hex', 'utf8');
decrypted += decipher.final('utf8');
console.log(decrypted);

在Node.js命令提示符中运行以下代码:

node crypto_example3.js

3.png

标签: Nodejs, Nodejs安装教程, Nodejs教程, node, nodejs入门, nodejs入门教程, nodejs进阶, nodejs学习教程, nodejs开发, nodejs指南, nodejs学习指南, nodejs环境配置, nodejs框架