相关文章推荐
道上混的杯子  ·  MySQL :: MySQL 8.4 ...·  2 月前    · 
冷静的乌冬面  ·  tushare 之 Python ...·  1 年前    · 
npm install -g node-gyp 3. windows-build-tools npm install --global --production windows-build-tools

安装bcrypt

npm install bcrypt

安装失败解决方法

//1.先全局删除依赖node-gyp
npm -g uninstall node-gyp  全局删除  node-gyp
//2.再次全局安装依赖
npm install node-gyp -g
//3.安装bcrypt
npm install bcrypt

第二种 使用bcryptjs替代

bcryptjs是一个第三方密码加密库,是对原有bcrypt的优化,优点是不需要安装任何依赖

//1.安装bcryptjs
npm install bcryptjs
//2.引入bcryptjs库
var bcrypt = require('bcryptjs');
//3.使用bcryptjs

如何使用bcryptjs

//生成hash密码
bcryptjs.genSalt(salt,func);
salt用于哈希密码的盐。如果指定为数字,则将使用指定的轮数生成盐并将其使用,推荐 10,数值越大 生成的随机字符串复杂度越高,数值越小 生成的随机字符串复杂度越低,该方法返回一个随机字符串
func回调函数
bcryptjs.hash(data,salt,func);
data要加密的数据,字符串类型
salt加密使用的盐
func回调函数
var bcryptjs = require('bcryptjs');
bcryptjs.genSalt(10, function(err, salt) {
    bcryptjs.hash("123456", salt, function(err, hash) {
        console.log(hash);//每次调用生成的结果都不一样     
//验证密码
bcryptjs.compare(data,hash,function(err,res){});
data需要比较的数据,从前端传递过来的密码
hash是从数据库查询出来加密过的密码
function(err,res)回调函数,err是错误信息,res是比对的结果,boolean值,如果相等则为true,否则为false
一般回调函数中的第一个参数都是指错误信息
bcryptjs.compare("123456", hash, function(err, res) {
    // res === true //匹配成功
bcryptjs.compare("not_bacon", hash, function(err, res) {
    // res === false //匹配失败
bcryptjs.compare("123456", hash).then((res) => {
//bcryptjs.compare方法返回一个promise对象,使用.then处理成功的情况.catch处理失败的情况,并且可以链式处理
    // res === true 
//快速生成hash值
bcryptjs.hash('bacon', 8, function(err, hash) {
生成hash密码
var bcryptjs = require('bcryptjs');
var salt = bcryptjs.genSaltSync(10);
var hash = bcryptjs.hashSync("123456", salt);
bcryptjs.compareSync(data, encrypted)
 *    - data        要比较的数据, 使用登录时传递过来的密码
 *    - encrypted   要比较的数据, 使用从数据库中查询出来的加密过的密码
bcryptjs.compareSync("123456", hash); // true 匹配相等的情况
bcryptjs.compareSync("89990", hash); // false 匹配不相等的情况
快速生成hash值
 bcryptjs.hashSync(data, salt)
 *    - data  要加密的数据
 *    - slat  用于哈希密码的盐。如果指定为数字,则将使用指定的轮数生成盐并将其使用。推荐 10
var hash = bcryptjs.hashSync('bacon', 8);
安装bcrypt的步骤安装依赖环境1. python 2.x2. node-gypnpm install -g node-gyp3. windows-build-toolsnpm install --global --production windows-build-tools安装bcryptnpm install bcrypt安装失败解决方法第一种//1.先全局删除依赖node-gypnpm -g uninstall node-gyp 全局删除 node- 今天在使用bcrypt进行加密时出现了一点问题,忽然想起来,之前安装cypress时也出现这个问题,看来是和我的python包有关系。 问题描述 首先,在安装bcrypt时,总是会卡住: bcrypt... 或者直接报错: G:\nodejs\moviesite\node_modules\bcrypt>if not defined npm_config_node_gyp (node
解决bcrypt引起的node安装失败问题 最近在学习node做阿里百秀项目时遇到了一个问题,就是在原有的那个项目里,使用npm install 安装不了模块。看了下报错是由 bcrypt引起的,bcrypt就是一款加密工具,可以比较方便地实现数据的加密工作,在项目里使用他来加密登录密码,但不知道为什么他出现报错。 在网上找了很多资料,有的说时pyhton环境出错,有的说是版本不兼容,还有的说用bcryptjs替代,都有道理,但没有解决,后来我找到一个解决的方法,方法来源:https://www.it6
安装bcrypt时发生了错误,在网上搜了一圈,有位大兄弟说的很好,大多数错误都和版本不兼容有关。 以我自己为例,我的Node.js的版本是10.17.0,使用【npm install bcrypt -g】时,下载的 bcrypt是最新版本的,和我的Node.js不兼容。 根据官网的版本支持: 用【npm install bcrypt@3.0.0 -g 】下载,问题解决安装完成~
安装bcryptnode-pre-gpy错误 node-pre-gyp http GET https://github.com/kelektiv/node.bcrypt.js/releases/download/v1.0.3/bcrypt_lib-v1.0.3-node-v57-win32-x64.tar.gz node-pre-gyp http 404 https://github.com
在各个导入bcrypt的js文件中更改bcryptbcryptjs(因为bcrypt需要较多的依赖,bcryptjs与其功能相同但所需依赖较少,笔者之前也尝试安装bcrypt包括更改node版本,下载window-tools,但失败了, //导入bcryptjs constbcrypt=require('bcryptjs'); 在package.json中更改bcryptbcryptjs,并将该栏设为“*”这样可不受版本影响 删除node_modules文件夹,package-lock...