jackieli123723 / jackieli123723.github.io

✅lilidong 个人博客
9 stars 0 forks source link

crypto加密封装(可用于本地存储加密解密) #34

Open jackieli123723 opened 6 years ago

jackieli123723 commented 6 years ago

node自身的crypto模块封装加密解密模块

//md5.js
var crypto = require('crypto')
// 记住密码(加密)
const aesEncrypt = (data , key) => {
  const cipher = crypto.createCipher('aes192', key);
    let   crypted = cipher.update(data, 'utf8', 'hex');
        crypted += cipher.final('hex');
    return crypted;
}

// 记住密码(解密)
const aesDecrypt = (encrypted , key) => {
  const decipher = crypto.createDecipher('aes192', key);
  let   decrypted = decipher.update(encrypted, 'hex', 'utf8');
        decrypted += decipher.final('utf8');
  return decrypted;
}

module.exports = {
    aesEncrypt: aesEncrypt,
    aesDecrypt: aesDecrypt
}

var aesEncrypt = require('./md5.js').aesEncrypt
var aesDecrypt = require('./md5.js').aesDecrypt
var account = 'admin'
var password = 'admin'

var remberCheck = 'fasle'

var user = {
    'name': account,
    'passWord': aesEncrypt(password,'Password!'),
    'isRember': remberCheck
}

//这是加密
console.log('----这是加密')
console.log(user)
console.log('----这是加密结束')

console.log(user.passWord)

let textUser = {
    'name': account,
    'passWord': aesDecrypt('ff4b3452dab9ba67443847ac21887f9d','Password!'),
    'isRember': remberCheck,
    'pojie':true
}

//这是解密
console.log('----这是解密')
console.log(textUser)
console.log('----这是解密结束')

结果如下

$ node index.js
----这是加密
{ name: 'admin',
  passWord: 'ff4b3452dab9ba67443847ac21887f9d',
  isRember: 'fasle' }
----这是加密结束
ff4b3452dab9ba67443847ac21887f9d
----这是解密
{ name: 'admin',
  passWord: 'admin',
  isRember: 'fasle',
  pojie: true }
----这是解密结束