使用node中的crypoto进行密码加密

Node.js的crypto模块 加密 Node.js的crypto模块提供了许多加密和解密功能,包括对称加密、非对称加密、哈希函数等。在本篇文章中,我们将详细介绍Node.js的crypto模块的API、代码注释和举例。 阅读详情

今天在做登录模块,原本打算用第三方的md5做加密,然后突然记起node好像自带加密模块。

一、crypto的介绍

crypto模块的目的是为了提供通用的加密和哈希算法。用纯JavaScript代码实现这些功能不是不可能,但速度会非常慢。

Nodejs用C/C++实现这些算法后,通过cypto这个模块暴露为JavaScript接口,这样用起来方便,运行速度也快。

 

 

二、应用

1.引入模块,由于是自带的,所以不需要再另外安装

const crypto = require("crypto");

2.调用

let password = '123abc';
let md5 = crypto.createHash("md5");
let newPassWord = md5.update(data.password).digest("hex");
console.log(newPassWord);   //a906449d5769fa7361d7ecc6aa3f6d28

 

三、扩展(加密处理)

1、利用随机数随机生成多少位数

2、利用可逆加密把第一步的生成的随机数加密 可逆加密有Base64和Hex加密(具体自己百度)

3、将第二步加密好的随机数与我们真实密码拼接在一起

4、将第三步进行加密(MD5)

5、将第四步进行可逆加密

6、将第二步与第五步生成的拼接成密码

 

四、扩展(登录加密处理)

1、登录时候获取密码

2、从获取的密码中截取随机数加密的那段

3、重复操作上面加密的方式(3,4,5,6)

JS 加密框架 crypto-js 由于现在项目使用http协议,且登录界面是明文传输,项目真正上线后基本的密码传输都很不安全。 决定用前端框架加密后再进行传输,以提高安全性。在网上搜了很多,比较多的文章介绍这个框架。当然其他还有:坦福大学JS加密库 SJCL,jcryption等。 这里主要介绍下crypto-js.1. 下载 官网地址http://cryptojs.altervista.org/还是能打开的 但官网上的项目 阅读详情

相关推荐

Node内置模块 【crypto加密模块】

Node内置模块 【crypto加密模块】

商务合作/软件定制/学习交流 2978

基于crypoto 前端AES加密解密

function getAesString(data, pkey, piv) { //加密 var key = CryptoJS.enc.Utf8.parse(pkey); var iv = CryptoJS.enc.Utf8.parse(piv); var encrypted = CryptoJS.AES.encrypt(data, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7

大左的博客 803

C# 操作Excel的时候,出现"被呼叫方拒绝接受呼叫的异常"的解决方案(参考官方给出的解决方案)

首先官方有对这个错误给出解释和解决方案,连接如下: https://docs.microsoft.com/zh-cn/previous-versions/ms228772(v=vs.120)#%E5%8F%AF%E9%9D%A0%E7%BC%96%E7%A8%8B 简单来说,貌似是线程问题,我猜。。。 之前我尝试着在代码中添加 Thread.Sleep(1000); 来进行解决,这种办...

Ck_Max的博客 5767

Node.js系列学习之crypto模块

这篇文章主要给大家介绍几种node常见的密码加密方式,包括最常用的md5加密,Hmac加密,以及AES加密.

小猿同学628的博客 1679

告别臃肿VS!仅用Visual Studio 2022 Build Tools为Qt 5.12.12配置MSVC2017开发环境

本文详细介绍了如何仅使用Visual Studio 2022 Build Tools为Qt 5.12.12配置MSVC2017开发环境,避免安装臃肿的完整VS。通过精准选择组件、配置Qt Creator编译器和优化Kit设置,实现高效、精简的Windows平台Qt开发环境搭建,特别适合追求性能和资源优化的开发者。

weixin_30340617的博客 349

别再只看K线了!用Python自制筹码分布图,可视化Winner函数帮你判断支撑压力

本文详细介绍了如何用Python自制筹码分布图,通过数据清洗、算法实现和动态可视化,帮助投资者更准确地判断股票支撑压力位。文章重点讲解了Winner函数的应用,结合筹码分布与交易策略,提升交易决策的精准度。

weixin_42520796的博客 313

NodeJS Crypto加密⑤

Node.js是一个javascript运行环境。它让javascript可以开发后端程序,实现几乎其他后端语言实现的所有功能,可以与```PHP、Java、Python、.NET、Ruby等后端语言平起平坐。Nodejs是基于V8引擎,V8是Google发布的开源JavaScript引擎,本身就是用于Chrome浏览器的JS解释,但是Node之父Ryan Dahl把这V8搬到了服务器上,用于做服务器的软件。

m0_61490399的博客 2421

选择的 Python 解释器无效,请尝试更改解释器以启用 IntelliSense、Lint 分析和调试等功能。请查看输出,详细了解解释器无效的原因。

摘要:在VS Code中配置Anaconda Python解释器时若出现"解释器无效"错误,可通过修改用户设置解决。具体步骤:1) 按Ctrl+Shift+P打开命令面板;2) 搜索并打开用户设置JSON文件;3) 添加conda路径配置项,示例格式为"python.condaPath": "D:\\Anaconda\\setup\\Scripts\\conda.exe";4) 同时启用环境激活选项"python.terminal.act

猿小白的博客 843

Node实现数据加密

Node实现数据加密

thwr1881的博客 1676

scp 出现Permission denied错误 解决方法

第一种说辞(来源于网络),说是scp涉及root远程登录,默认是没有打开的,只需要把配置文件中的permit打开即可。最后scp的时候发现还不行,只需要将其scp的服务器用户名 修改为root即可。第二种解决方案,将scp 传输的服务器用户名改为root即可。(这是最基本的,一开始我忽视了这个问题,导致一直scp不了)window系统下,向ubuntu操作系统 scp传输文件。

码农研究僧的博客 6727

Python实现稳态传热传质的偏微分方程求解

通过这种方法,我们可以求解更复杂的传热传质问题,并对系统的温度和浓度分布进行分析和优化。稳态传热传质是一个重要的工程问题,涉及到物质在空间中的分布以及热量和质量的传递。每次迭代中,我们使用上一次迭代的温度值来计算下一次迭代的温度值。该图显示了平板内部各点的温度分布,其中中心温度为T1,边界温度为T2。接下来,我们创建一个N x N的温度矩阵,并将边界条件初始化为边界温度T2。假设我们有一个矩形平板,其中心温度为T1,四个边界温度为T2。假设平板的长度为L,宽度为W,中心温度为T1,边界温度为T2。

HackDashX的博客 307

crypto.js 前端加解密

简介 crypto-js是谷歌开发的一个纯JavaScript的加密算法类库,可以非常方便的在前端进行其所支持的加解密操作。目前crypto-js已支持的算法有:MD5、SHA-1、SHA-256、AES、RSA、Rabbit、MARC4、HMAC、HMAC-MD5、HMAC-SHA1、HMAC-SHA256、PBKDF2等。使用时可以引用总文件,也可以单独引用某一文件。 下载 https://github.com/brix/crypto-js/releases 使用 第一步 引入crypto-js.js文

铁蛋的博客 3万+

计算机视觉与深度学习 | Matlab实现ORBSLAM2(附完整代码)

================================================ 博主github:https://github.com/MichaelBeechan 博主优快云:https://blog.youkuaiyun.com/u011344545 ================================================ 代码阅览 效果图 代码 imdsLeft = imageDatastore('C:\MichaelSpace\matlabworks

尘世冰封的专栏 1520

采用crypot-js前端加密后端解密

1.下载crypot-js,如果为vue项目,安装cnpm,采用命令安装:cnpm install crypto-js,如果为一般web项目,注意:前端加密后的字符串可能包含特殊符号,传到后端时需要注意;3.前端页面引入,调用。

恒二哥的博客 1642

YOLOv8剪枝 稀疏训练+slim剪枝测试精度仅掉1.6个点,速度提高10.3fps!

摘要 本文介绍了YOLOv8剪枝方法Slim(Network Slimming),通过L1正则化作用于BN层的缩放因子(γ),自动识别并剪除冗余通道,实现模型轻量化。核心步骤包括:稀疏训练(引入L1正则化)、通道剪枝(按γ阈值裁剪)、微调恢复精度。实验表明,该方法能有效压缩模型大小、减少计算量,且支持通过调整speed_up等超参数控制剪枝强度。移植代码需修改C2F模块以适配剪枝,并配置稀疏训练参数(如reg、sl_epochs)。最终剪枝模型需移除优化器以减小体积,但不支持多卡训练。

FJN110的博客 859

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

node项目使用crypto模块为用户密码加密

在本文中,我们深入探讨了如何在Node.js项目中使用crypto模块实现密码加密功能。我们首先介绍了crypto模块的基本用法和常用加密算法,然后详细阐述了使用md5算法对用户密码进行加密的方法,同时指出了md5加密在安全性上存在的一些问题,并提出了一些加强安全性的措施。最后,我们还介绍了如何在实际应用中实现密码的加密和验证功能。通过本文的阐述,读者可以更好地理解密码加密的原理和实现方法,对加强密码安全性有一定的帮助。

jieyucx的博客 2531

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

node加密集合(前端加密、后台解密)

公钥加密 为上述生成的公钥 私钥解密 为上述生成的秘钥 为上述加密的值 二、加解密 生成公私秘钥 需要把密码先转为格式,并加上两个传参,避免出现乱码情况 使用私钥加密

失眠时间的博客 1751

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

使用crypoto++进行加密解密签名和认证心得

网上关于crypto++的加密解密以及签名验证资料说的都比较详细。接下来就说说我的一些使用心得。 首先是下载版本问题。一定要注意你下载crypto++版本和你的vs适用。如果你的vs版本出来的年限比crypto++出来的年限都晚,很可能在编译中出现问题。 打开crypto++里的test.sln,源代码是在vs2008的环境下编的。我放到vs2013中,在Win32和x64中都可以编译。路面的

Scarlett_OHara的博客 1722

CTF-Crypto必备自动解密神器-Ciphey

Ciphey-自动解码神器 Github地址:https://github.com/Ciphey/Ciphey 建议给作者点星✔️ 使用自然语言处理和人工智能以及一些常识的全自动解密/解码/破解工具 特性 支持 30+的加密方法 例如编码(二进制,base64)和常规加密(例如 Caesar 密码,重复密钥 XOR 等) 有关完整列表,请单击此处 具有增强搜索功能的定制人工智能(AuSearch)可以回答“使用了哪种加密技术?" 解密时间不到 3 秒 定制的自然语言处理系统 Ciphey 可以确定某些

Love&Share 2万+

node之crypto模块,Node环境加密

crypto 是 Node.js 内置的加密模块,提供了一组用于加密、解密、签名、验证和生成随机数的功能。它支持多种加密算法和哈希算法,可以用于保护数据的机密性和完整性。对称加密:crypto 模块提供了对称加密算法,如 AES、DES、3DES 等。使用相同的密钥进行加密和解密,适用于对称加密场景。非对称加密:crypto 模块支持非对称加密算法,如 RSA、DSA、ECC 等。非对称加密使用一对密钥,公钥用于加密数据,私钥用于解密数据或生成数字签名。

老衲爱洗头的博客 4200

CryptoJS之AES加密详解

【代码】javascript的CryptoJS.AES加密详解。

花臂不花Home 2043

NodeJS加密算法

当发送方A向接收方B发送数据时,需要考虑的问题有:数据的安全性。数据的完整性,即数据不被篡改。数据的真实性,即数据确实来自于发送方,传输过程中没有被替换。数据的不可否认性,即验证发送方确实发送了数据。A 使用密钥加密数据A 将密文发送给 BB 收到密文后,使用相同的密钥对其进行解密,取得原始数据优点:速度快缺点:密钥被盗就被破解、密钥管理不方便(每个用户都要对应一个密钥)实现算法有:凯撒密码,AES(Advanced Encryption Standard)、DES(Data Encryption Stan

过客2019 4125

前端加密的方法及node 的crypto 使用

前端加密的方法及node 的crypto 使用;哈希算法、对称加密、非对称加密

呆呆狗 1473

【crypto】基于crypto.js的web前端加解密系统实现

文章目录一、概念介绍1.1 crypto.js介绍1.2 加密 / 哈希 / 编码1.2.1 加密/解密1.2.2 散列/哈希1.2.3 BASE64编解码二、加解密思想(以md5为例)三、前端加密系统实现代码3.1 加解密3.2 哈希3.4 BASE64四、验证4.1 页面验证4.1.1 加解密4.1.2 哈希4.1.3 BASE644.2 逻辑验证4.2.1 加解密逻辑4.2.2 哈希逻辑4.2.3 BASE64逻辑五、Rerefence 一、概念介绍 1.1 crypto.js介绍 crypto-j

微雨停了的博客 1万+

CryptoJS 加密

CryptoJS 加密 CryptoTS不太完善 建议使用CryptoJS typescript版 请安装 yarn add @type/crypoto-js AES区块加密标准算法, 三种常见方案: AES-128,AES-192,AES-256 区别在于密钥的长度不同 AES-128长度为16bytes(128bit/8); AES-192长度为24bytes(192bit/8); AES-256长度为32bytes(256bit/8); 密钥越长,安全强度越高,但伴随运算轮数的增加,带来的运算开销就

xiaomomi的博客 3213

crypto-js 加密解密 (TS版本)

AES+BASE64算法加密 安装: npm install crypto-js npm install --save @types/crypto-js 创建配置文件: import CryptoJS from 'crypto-js' export interface CrypotoType { encrypt: any decrypt: any } export default class Crypoto implements CrypotoType { key = ...

weixin_41964258的博客 7766
上一篇: DeprecationWarning: current URL string parser is deprecated, and will be removed in a future version
下一篇: MongoDB——aggregate函数下各个操作符的运用
gz-郭小敏
博客等级 码龄9年 39粉丝 112原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值