Articles of 密码

Cypher查询,格式/组返回值

有没有一种方法来格式化密码查询的返回值? 如果我做一个查询,返回一个节点和所有节点与该节点的关系('RETURN id(startnode),id(relationnode)')我会得到一个数组包含每个关联节点与一个startnode捆绑。 例如: [ { relationnode: 0, startnode: 1 }, { relationnode: 1, startnode: 1 } ] 我多么希望它能够工作,就是让返回值形成如下格式: { relationnode: [ 0, 1 ], startnode: 1 } 有没有办法做到这一点,还是只是不好的做法呢? 这将是非常有用的,如果我知道永远不会有超过1个startnode。 编辑:我知道我可以在查询后parsing它,我宁愿能够在查询中做到这一点。

NodeJS AES 256hex解密错误

美好的一天。 我想使用nodejs模块encryption解码以前编码的string。 string是用AES 256 ECB编码的,我把它作为hex。 我所有的尝试几乎没有,只是有时我得到空string,而不是错误。 我'需要'只有encryption,没有开放ssl。 HEX :820D4DA01CE75046C399CA314C5428C6AF8D69C6573B4DE5A6942A5277936F56 键 :7y05R9qwKaIKgIHh4vAw19X1zuknR21Y 这是我的nodejs代码。 var algorithm = 'aes-256-ecb', password = '7y05R9qwKaIKgIHh4vAw19X1zuknR21Y', encString = '820D4DA01CE75046C399CA314C5428C6AF8D69C6573B4DE5A6942A5277936F56' var decipher = crypto.createDecipher(algorithm,password); var dec = decipher.update(encString,'hex','utf8'); dec += decipher.final('utf8'); console.log(dec); 我有这个错误。 Error: error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt. 需要你的帮助。 UPDATE 经过Maarten Bodewes和这个主题几个小时和无价的build议,这是工作的解决scheme。 var encString=req.query.d; console.log(encString); var algorithm = 'aes-256-ecb', password = new Buffer('7y05R9qwKaIKgIHh4vAw19X1zuknR21Y', […]

在Neo4j中检索节点列表以及与它们直接相关的节点的ID列表

在我的数据库中,我有:用户节点,它们通过:友谊关系相关。 我想要得到这样的结构: [ { id: 1, username: "Whatever", email: "whatever@test.com" … }, [ 6, 7, 8, … ] ], [ { id: 2, username: "Another user", email: "anotheruser@test.com" … }, [ 15, 16, 17, 18, … ] ], … …其中数字是节点与a:友谊关系直接相关的节点的ID。 这个答案有一些疑问, 几乎做的工作: 我能findneo4j中两个节点之间的所有关系吗? 但是我提出的最接近的是: match p=(a:User)-[:Friendship]->(d:User) return d, reduce(nodes = [],n in nodes(p) | nodes […]

比较两个密码哈希值 – nodejs

我正在使用encryptionhttps://nodejs.org/api/crypto.html进行密码encryption和身份validation。 我正在更改密码页面上工作,并且在确定用户提供的密码是否与现有密码具有相同的哈希值时遇到问题。 以下是我的代码。 var createSalt = function createSalt() { return crypto.randomBytes(128).toString('base64'); }; var hashPwd = function hashPwd(salt, pwd) { var hmac = crypto.createHmac('sha256', salt); return hmac.update(pwd).digest('hex'); }; //use password , create salt, hash and compare with the existing var salt = createSalt(); var passHash = hashPwd(salt,data.Password); console.log('the password is', user.PassHash === passHash); 我期待如果上面的控制台消息打印真正的现有用户密码匹配。 但是,这两个哈希似乎并不匹配。 请问我错过了什么? […]

在nodejs中相当于password_hash

我面临的情况是需要validation在nodejs服务器上通过PHP password_hash方法创build的password_hash 。 nodejs是否具有与password_hash和password_verify等效的可用包? 谢谢。

什么使string/令牌密码安全?

如果您需要生成一个string/令牌来validation将来的请求(例如API密钥,电子邮件确认URL等),应考虑哪些因素? 尤其是 是什么让string“安全”/“很难猜到”? 如何测量/估计“安全量”? 那里的主要标准是什么? 一个实际的例子 我们从NodeJS中获取这两个输出string。 string1 (通过节点密码 ) var crypto = require('crypto'); crypto.randomBytes(48, function (ex, buf) { console.log(buf.toString('hex')); }); string2 (通过节点UUID ) var uuid = require('node-uuid'); console.log(uuid.v4()); 基于上述概念,哪一个更安全,为什么? 另外,请随时提出有关这个主题的任何好的介绍材料,因为我不容易find关于这个在线的文章。

beforeUpdate似乎没有被调用

我有一个简单的用户模型,如下所示: 'use strict'; let hashPassword = (user, options) => { if (!user.changed('password')) { return; } return require('bcrypt') .hash(user.getDataValue('password'), 10) .then(hash => user.setDataValue('password', hash)); }; module.exports = (sequelize, DataTypes) => { const User = sequelize.define('User', { username: {allowNull: false, type: DataTypes.STRING, unique: true}, email: {allowNull: false, type: DataTypes.STRING, unique: true}, password: {allowNull: false, type: DataTypes.STRING, unique: […]

Node中密码存储的密码学最佳实践

我正在寻找一个简单,安全的解决scheme来存储用户的密码,使用节点。 我是一个密码学新手,但一直试图从网上调查一起解决scheme。 我正在寻找validation,我想出的是一个具有基本(而不是银行,医院等)安全需求的Web应用程序的可靠解决scheme。 这里是: var crypto = require('crypto'); var SALT_LENGTH = 64; var KEY_LENGTH = 64; var ITERATIONS = 1000; function createHashedPassword(plainTextPassword, cb) { crypto.randomBytes(SALT_LENGTH, function (err, salt) { console.time('password-hash'); crypto.pbkdf2(plainTextPassword, salt, ITERATIONS, KEY_LENGTH, function (err, derivedKey) { console.timeEnd('password-hash'); return cb(null, {derivedKey: derivedKey, salt: salt, iterations: ITERATIONS}); }); }); }; …以下是我所做的select, 什么哈希algorithm使用? 基于这篇广泛引用的文章 ,它看起来像领先的竞争者是PBKDF2,bcrypt和scrypt。 我select了PBKDF2,因为它已经在Node中build立了支持。 […]

在NodeJS中重置密码

我做了一个设置,使用NodeJS /护照更新用户的密码。 我遵循这个伟大的指南: http : //sahatyalkabov.com/how-to-implement-password-reset-in-nodejs/ 。 这99%的工作。 我不得不修改它包含一些条纹function。 但是我担心我有一个严重的错误,我无法find它。 用户现在可以通过发送电子邮件的过程,input一个新的密码,并login。另一封电子邮件说,他们的密码已成功更新。 全部完美。 然而。 因为某些原因。 新密码没有被保存。 用户只能使用旧密码login。 我已经尝试了所有我能想到的方法来解决这个问题。 我还有其他几个程序员看这个,他们中没有一个能够弄清楚它在世界上是如何工作的。 目前的想法是,会议可能没有正确结束,但我们试图破坏会议,它仍然没有工作。 任何帮助不胜感激。 完整设置: 用户模式: var UserSchema = new mongoose.Schema({ username: { type: String, required: true, unique: true }, password: String, datapoint: String, email: { type: String, required: true, unique: true }, resetPasswordToken: String, resetPasswordExpires: Date }); UserSchema.pre('save', […]

在Node.js中实现JSON Webencryption

我正在寻找一种在Node.js服务中使用JSON Web Encryption(JWE)的方法。 然而,我只是设法find相关的标准JWS的实现 。 然而,有几个其他语言的库,如jose4j 。 有没有人成功地在Javascript中实现JWE? 恐怕我会使用较低级别的原语自己实施规范。 有更好的方法吗?