加密
var crypto= require('crypto')//crypto为node.js加密模块 //生成随机字符串 function randomString(len) { len = len || 32; var $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678'; /****默认去掉了容易混淆的字符oOLl,9gq,Vv,Uu,I1****/ var maxPos = $chars.length; var pwd = ''; for (i = 0; i < len; i++) { pwd += $chars.charAt(Math.floor(Math.random() * maxPos)); } return pwd; } function hashvalue(str){ var text = str; var hasher=crypto.createHash("md5"); hasher.update(text); var hashmsg=hasher.digest('hex');//hashmsg为加密之后的数据 return hashmsg; } var saltvalue; function make_password(password){ //密码哈希值 var salt=randomString(32); saltvalue=hashvalue(salt); var hashmsgPassword=hashvalue(password);//hashmsg为加密之后的数据 str=saltvalue+'$'+hashmsgPassword; return str; } console.log("make_password中加盐后hash值"+make_password("hello")); function check_password(password,inputPassword){ var hashmsginputPassword=hashvalue(inputPassword); str1=saltvalue+'$'+hashmsginputPassword; if (str1==str) { return true; }else{ return false; } } console.log("check_password返回值:"+check_password("hello","hello21"));