微信小程序使用SHA512进行加密


1特点及用途
哈希算法通常满足以下特点
正像快速:原始数据可以快速计算出哈希值
逆向困难:通过哈希值基本不可能推导出原始数据
输入敏感:原始数据只要有一点变动,得到的哈希值差别很大
冲突避免:很难找到不同的原始数据得到相同的哈希值

各种算法的简单比较
主要用来校验数据的完整性(无法保证未被篡改),想保证无法篡改的同学还是考虑RSA吧
SHA512碰撞复杂度为2^256,目前宇宙的原子数为2 ^ 266所以基本不会被碰撞,顺手说一下MD5的碰撞复杂度大概为2^20,SHA-1为2^64

用途
比如加个SHA传递密码是个不错的选择,虽然无法反向出原文,但是你数据库也不可能存储明文,所性都用SHA512加个密比较是否相同即可
在就是做个指纹保证数据的完整性

2 微信小程序如何配置    
1)下载cryptojs3 我使用下载链接如下https://download.csdn.net/download/baidu_31405631/11270574
2)util.js 中导入
function SHA512(str){
  var CryptoJS = require('./cryptojs3/rollups/sha512.js');
  var sha512Str = CryptoJS.SHA512(str).toString();
  console.log("sha512Str后得到的字符串:%s", sha512Str);
  return sha512Str;
}
module.exports = {
 SHA512: SHA512
}
3) 使用    "passwd": util.SHA512(that.data.passwd)

你可能感兴趣的:(微信小程序)