var register = function(req, res, next){ var firstName = req.body.firstName; var lastName = req.body.lastName; var email = req.body.email; var password = utils.sha1(req.body.password); var confirm_password = utils.sha1(req.body.confirm_password); if ( password !== confirm_password ){ res.status(403).json({status: 'error', error_message: 'Password doesn\'t match', user: null }); } Models.User.find({where:{email: email}}).then(function(user){ if ( !!user ){ res.status(403).json({status: 'error', error_message: 'User already exists', user: null }); } else{ Models.User.create({firstName: firstName, lastName: lastName, email: email, password: password}).then(function(user){ if ( !!user ){ res.json({status: 'success', error_message: null, user: user }); } else{ res.status(403).json({status: 'error', error_message: 'Error when creating user', user: null }); } }); } }); };
exports.ensurePasswordSalt = function (user, body) { if (!user.password_sha && body.password) { // create password_sha on server user.salt = crypto.randomBytes(30).toString('hex'); user.password_sha = utility.sha1(body.password + user.salt); } };
app.get('/', function(req, res){ var q = req.query.q; console.log(req.query); //var md5Value = utility.md5(q); //res.send(md5Value); var sha1Value = utility.sha1(q); res.send(sha1Value); });
co(function * () { var user = yield UserModel.find({where: {name: username}}); var salt = user.salt; console.log(`user original password_sha: ${user.password_sha}`); var newPasswordSha = utility.sha1(newPassword + salt); user.password_sha = newPasswordSha; user = yield user.save(); console.log(`change user password successful!! user new password_sha: ${user.password_sha}`); process.exit(0); }).catch(function (e) {
app.get('/', function (req, res) { // 从 req.query 中取出我们的 q 参数。 // 如果是 post 传来的 body 数据,则是在 req.body 里面,不过 express 默认不处理 body 中的信息,需要引入 https://github.com/expressjs/body-parser 这个中间件才会处理,这个后面会讲到。 // 如果分不清什么是 query,什么是 body 的话,那就需要补一下 http 的知识了 var q = req.query.q; // 调用 utility.md5 方法,得到 md5 之后的值 // utility 的 github 地址:https://github.com/node-modules/utility // 里面定义了很多常用且比较杂的辅助方法,可以去看看 //var md5Value = utility.md5(q); var sha1 = utility.sha1(q); res.send(sha1); });
usernames.forEach(function (name) { var user = { name: name, email: '*****@*****.**', // password: '******', ip: '127.0.0.1' }; user.salt = crypto.randomBytes(30).toString('hex'); user.password_sha = utility.sha1(user.name + user.salt); User.add(user, function (err, result) { if (err) { throw err; } }); });
var authenticate = function(req, res, next){ var email = req.body.email; var password = utils.sha1(req.body.password); Models.User.find({ where: {email: email, password: password} }).then(function(user){ if ( !!user ){ console.log(user.id); res.cookie('uid', user.id, { maxAge: 119990000000, httpOnly: false }); res.cookie('name', user.name(), { maxAge: 119990000000, httpOnly: false }); res.cookie('checkup', user.generateCheckup(), { maxAge: 119990000000, httpOnly: false }); res.json({status: 'success', error_message: null, user: user }); } else{ res.status(404).json({status: 'error', error_message: 'User not found', user: null }); } }) };
validateSign = async (req, res, next) => { try { const params = await parseParams(req); if (!params.signature) { return res.end('error'); } const signature = params.signature; const obj = Object.assign({}, params); if (obj.signature) { delete obj.signature; } if (obj.echostr) { delete obj.echostr; } const arr = []; arr.push('weixin');// 'weixin'为自己设置的token arr.push(obj.timestamp); arr.push(obj.nonce); const sign = utility.sha1(arr.sort().join('')); if (sign !== signature) { return res.end('error'); } if (req.method === 'GET') { return res.end(params.echostr); } let postdata = ''; req.setEncoding('utf8'); req.on('data', (chunk) => { postdata += chunk; }); req.on('end', async () => { const data = await xmlUtil.parseString(postdata); req.xmljson = data; // return res.end('ok'); return next(); }); } catch (err) { return next(err); } }
function passwordSha(password, salt) { return utility.sha1(password + salt); }
app.get('/', function(req, res) { var q = req.query.q; var md5Value = utility.sha1(q); res.send(md5Value); });
function rename(file) { var hash = utility.sha1(fs.readFileSync(file.origin)).substring(0,8); file.basename += '-' + hash; return file; }
app.get('/', function (request, response) { var q = request.query.q; response.send(utility.md5(q) + ' | ' + utility.sha1(q)); });
createPasswordSha: function (password, salt) { return utility.sha1(password + salt); },