Nodejs encryption method: 1. Import the crypto module; 2. Set the encryption type and encryption key to be used; 3. Convert the encoding method from utf-8 to hex; 4. Return the encrypted characters Just skewer.
The operating environment of this article: Windows 7 system, nodejs version 10.16.2, DELL G3 computer.
How to encrypt nodejs?
nodejs common encryption methods:
/** * @加密模块 * @md5可以被彩虹吧破解,这里就不用啦 * @author lwt * */ //导入模块 var crypto = require('crypto'); /** * @aes192加密模块 * @param str string 要加密的字符串 * @param secret string 要使用的加密密钥(要记住,不然就解不了密啦) * @retrun string 加密后的字符串 * */ exports.getEncAse192 = function(str, secret) { var cipher = crypto.createCipher("aes192", secret); //设置加密类型 和 要使用的加密密钥 var enc = cipher.update(str, "utf8", "hex"); //编码方式从utf-8转为hex; enc += cipher.final("hex"); //编码方式从转为hex; return enc; //返回加密后的字符串 } /** * @aes192解密模块 * @param str string 要解密的字符串 * @param secret string 要使用的解密密钥(要和密码的加密密钥对应,不然就解不了密啦) * @retrun string 解密后的字符串 * */ exports.getDecAse192 = function(str, secret) { var decipher = crypto.createDecipher("aes192", secret); var dec = decipher.update(str, "hex", "utf8");//编码方式从hex转为utf-8; dec += decipher.final("utf8");//编码方式从utf-8; return dec; } /** * @Hmac-sha1加密模块 (每次加密随机,不可逆) * @param str string 要加密的字符串 * @param secret string 要使用的加密密钥 * @retrun string 加密后的字符串 * */ exports.getHmac = function(str, secret) { var buf = crypto.randomBytes(16); secret = buf.toString("hex");//密钥加密; var Signture = crypto.createHmac("sha1", secret);//定义加密方式 Signture.update(str); var miwen=Signture.digest().toString("base64");//生成的密文后将再次作为明文再通过pbkdf2算法迭代加密; return miwen; } /** * @sha1加密模块 (加密固定,不可逆) * @param str string 要加密的字符串 * @retrun string 加密后的字符串 * */ exports.getSha1 = function(str) { var sha1 = crypto.createHash("sha1");//定义加密方式:md5不可逆,此处的md5可以换成任意hash加密的方法名称; sha1.update(str); var res = sha1.digest("hex"); //加密后的值d return res; }
Encryption is to change the original information data with a certain algorithm, so that unauthorized users can obtain the encrypted information , because the decryption method is not known, the true meaning of the information cannot be known. In this way, the security of network data transmission is improved. Common encryption algorithms include hash algorithm, HMAC algorithm, signature, symmetric encryption algorithm and asymmetric encryption. Algorithms, encryption algorithms are also divided into reversible and irreversible. For example, md5 is irreversible encryption and can only be violently cracked (credential stuffing). We directly use these encryption algorithms in NodeJS development. The crypto module provides encryption functions, including the encryption of OpenSSL. A complete set of encapsulation, HMAC, encryption, decryption, signature and verification functions, the core module does not need to be installed when using it.
[Recommended learning: "nodejs video tutorial"]
The above is the detailed content of nodejs how to encrypt. For more information, please follow other related articles on the PHP Chinese website!

Vercel是什么?本篇文章带大家了解一下Vercel,并介绍一下在Vercel中部署 Node 服务的方法,希望对大家有所帮助!

gm是基于node.js的图片处理插件,它封装了图片处理工具GraphicsMagick(GM)和ImageMagick(IM),可使用spawn的方式调用。gm插件不是node默认安装的,需执行“npm install gm -S”进行安装才可使用。

今天跟大家介绍一个最新开源的 javaScript 运行时:Bun.js。比 Node.js 快三倍,新 JavaScript 运行时 Bun 火了!

大家都知道 Node.js 是单线程的,却不知它也提供了多进(线)程模块来加速处理一些特殊任务,本文便带领大家了解下 Node.js 的多进(线)程,希望对大家有所帮助!

在nodejs中,lts是长期支持的意思,是“Long Time Support”的缩写;Node有奇数版本和偶数版本两条发布流程线,当一个奇数版本发布后,最近的一个偶数版本会立即进入LTS维护计划,一直持续18个月,在之后会有12个月的延长维护期,lts期间可以支持“bug fix”变更。

node怎么爬取数据?下面本篇文章给大家分享一个node爬虫实例,聊聊利用node抓取小说章节的方法,希望对大家有所帮助!


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

Dreamweaver Mac version
Visual web development tools

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

SublimeText3 Mac version
God-level code editing software (SublimeText3)

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),
