Tag: bcrypt

未定义的函数与bcrypt-nodejs

我正在使用bcrypt-nodejs在预保存函数内对密码进行哈希处理。 我不明白为什么我继续在bcrypt.hash的callback函数里面收到'[TypeError:undefined不是一个函数]'的错误。 var mongoose = require('mongoose'), validate = require('mongoose-validate'), bcrypt = require('bcrypt-nodejs'), SALT_WORK_FACTOR = 10, REQUIRED_PASSWORD_LENGTH = 8; function validateStringLength (value) { return value && value.length >= REQUIRED_PASSWORD_LENGTH; } var schema = mongoose.Schema({ email: {type: String, required: true, unique: true, validate: [validate.email, 'is not a valid email address'] }, passHash: {type: String, required: true, validate: […]

如何使用passportjs重置密码

我正在使用passportjs来validation用户,并使用bcrypt来存储密码。 以下代码重置我的盐字段,但不会更改散列字段。 UserSchema.update({ _id: mongoose.Types.ObjectId(req.user._id.toString()), }, { $set: { salt: req.body.newPassword } }, function(err, user) {…..} 任何机构可以帮助我如何重置散列字段?

python bcrypt和node.js bcrypt

我有一个python脚本,将用户数据导入到使用bcrypt来散列用户密码的mongodb中。 来自mongodb的数据也将在node.js web应用程序中使用,确保py-bcrypt生成的散列是相同的正确方法是什么? 当运行node.js版本,我得到这个: > bcrypt.genSalt(10, function(err, salt) { … bcrypt.hash("a", salt, function(err, hash) { ….. console.log(hash); ….. }); … }); undefined > $2a$10$tOT8MN1.3gsb6jWVL2hMRe0PHnJnXCxJX9xBewNl.2iRDnZCV/NeC 并在python >>> import bcrypt >>> password =b"a" >>> hashed = bcrypt.hashpw(password, bcrypt.gensalt(10)) >>> hashed '$2a$10$RzKqQppa3Y7ZZV8f7Ay5COFB5GMEGu7aLH7Fe2HchCyYF1gWVMZ/m' 使用由节点生成的散列比较Python中的散列,返回: >>> node_hash = b"$2a$10$tOT8MN1.3gsb6jWVL2hMRe0PHnJnXCxJX9xBewNl.2iRDnZCV/NeC" >>> if bcrypt.hashpw(password, node_hash) == node_hash: … print("It Matches!") … else: […]

不能npm在我的docker图像安装bcrypt

我试图让我的Sails.js应用程序使用标准node Docker镜像启动并运行,但是当它尝试npm install bcrypt时,构build失败。 > bcrypt@0.8.0 install /myapp/node_modules/bcrypt > node-gyp rebuild gyp WARN install got an error, rolling back install gyp ERR! configure error gyp ERR! stack Error: node-v0.10.33.tar.gz local checksum 822ba41f2d77b704ab63e244dfef7431b31893c19bfe3bf228c06b6aff063ed5 not match remote 75dc26c33144e6d0dc91cb0d68aaf0570ed0a7e4b0c35f3a7a726b500edd081e gyp ERR! stack at deref (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/install.js:299:20) gyp ERR! stack at IncomingMessage.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/install.js:340:13) gyp ERR! stack at IncomingMessage.emit (events.js:117:20) gyp […]

在安装Drywall时,我有一个Bcrypt的问题

我试图安装干墙: 干墙js我和Bcrypt有问题,即使我遵循下面的所有指令,因为我安装了: 安装最新的2.x Python,下载Python(我下载了2.7.9) 安装Visual Studio 2012/13 Express(或其他) 安装Windows SDK(适用于Windows 7/8) 安装Win64 OpenSSL v1.0.1g,从这里下载(我加载了“Win64 OpenSSL v1.0.2a”最新版) 我使用的是Windows 8 X64,nodejs> 0.12.7,bcrypt:0.8 我该如何解决这个问题? 错误如下: if not defined npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node rebuild ) Génération des projets individuellement dans cette solution. Pour activer la génération en parallèle, ajoutez le commutateur "/m". C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(362,5): […]

encryption与护照和mongoose的错误

Bcrypt抛出一个Incorrect arguments错误,我追溯到user.js这个函数 userSchema.methods.comparePassword = (candidatePassword, callback) => { bcrypt.compare(candidatePassword, this, (err, isMatch) => { console.log('candidatePassword= ', candidatePassword, '& this= ', this); if (err) { return callback(err); } callback(null, isMatch); }); }; /* candidatePassword= bird this= {} this.password= undefined */ 用户对象回来作为一个空的对象,因此this.password是未定义的。 我假设bcrypt.compare中的this参数指向了userSchema实例。 userSchema在passport.js声明 const passport = require('passport'); const ExtractJwt = require('passport-jwt').ExtractJwt; const JwtStrategy = require('passport-jwt').Strategy; const […]

bcrypt-nodejs比较方法每次都返回false

我试图使用mongoose,护照本地和bcrypt-nodejs来login我的应用程序。 userSchema预('保存')function正常工作,并保存一个哈希密码。 但是bcrypt比较方法每次都会返回false。 请参阅bcrypt-nodejs 这里是我的userSchema var userSchema = mongoose.Schema({ login:{ local:{ email: {type: String, unique: true, required: true}, password: {type: String, unique: true, required: true} } } userSchema.pre('save', function(next) { bcrypt.hash('user.login.local.password', null, null, function(err, hash){ if(err){ next(err); } console.log('hash', hash); user.login.local.password = hash; next(); }) }); userSchema.methods.validPassword = function(password, cb){ bcrypt.compare(password, this.login.local.password, function(err, isMatch){ if(err) […]

自定义validation器在检查空密码时不起作用

我正在使用bcrypt来散列用户的密码。 所以我有以下接口: app.post("/user", function(req, res, next) { // hash the password asynchronously bcrypt.hash(req.body.password, null, null, function(err, hash) { var newUser = new User({ username: req.body.username, password: hash, email: req.body.email }); newUser.validate(function (err) { if (err) { logger.info("User registration aborted: " + err.toString()); return res.status(400).json(err); } else { newUser.save(function (err, user) { if (err) { return […]

bcrypt.compare是否容易受到定时攻击?

在Node.js web开发中,我将其看作是使用bcrypt进行散列和比较密码的常见做法。 bcrypt.compare是否容易受到定时攻击 ?

bcrypt和Docker bcrypt_lib.node:无效的ELF头

我在Node.js上看到了一些关于macOS,Docker和bcrypt问题。 这似乎是我的问题最接近的答案,但它没有奏效。 我的Dockerfile : FROM node:6.4.0 COPY . /app RUN ls -la /app WORKDIR /app RUN cd /app; npm install CMD ["node", "index.js"] 我的.dockerignore文件: node_modules 我的package.json依赖关系: "dependencies": { "bcrypt": "1.0.0", } 当启动容器时,我得到这个错误: /app/node_modules/bcrypt/build/Release/bcrypt_lib.node: invalid ELF header 从Dockerfile的ls -la /app命令中,我可以看到node_modules文件夹肯定不是从主机(macOS)复制的: drwxr-xr-x 6 root root 4096 Dec 7 21:29 . drwxr-xr-x 47 root root 4096 Dec 7 […]