加密库
| 1
 | npm install --save crypto-js
 | 
使用hash函数
| 12
 3
 4
 5
 6
 
 | const {SHA256} = require('crypto-js');var message = 'I am user number 3';
 var hash = SHA256(message).toString();
 
 console.log(`Message: ${message}`);
 console.log(`Hash: ${hash}`);
 
 | 
返回值:

成都创新互联公司于2013年开始,先为塔城等服务建站,塔城等地企业,进行企业商务咨询服务。为塔城企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
| 12
 
 | Message: I am user number 3Hash: 9da4d19e100809d42da806c2b7df5cf37e72623d42f1669eb112e23f5c9d45a3
 
 | 
利用哈希模拟数据的加密解密
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 
 | const {SHA256} = require('crypto-js');var data = {
 id: 4
 };
 var token = {
 data,
 hash: SHA256(JSON.stringify(data) + 'somesecret').toString()  // 密码+data 并hash
 }
 
 //如果data和密码都是正确的,那么数据没有被修改过。否则数据被修改。
 var resultHash = SHA256(JSON.stringify(token.data) + 'somesecret').toString();
 if (resultHash === token.hash) {
 console.log('Data was not changed');
 } else {
 console.log('Data was changed. Do not trust!');
 }
 
 | 
jsonwebtoken进行数据的加密解密
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 
 | const {SHA256} = require('crypto-js');const jwt = require('jsonwebtoken');
 
 var data = {
 id: 10
 };
 
 var token = jwt.sign(data, '123abc');  //加密
 console.log(token);
 
 var decoded = jwt.verify(token, '123abc'); //解密
 console.log('decoded', decoded);
 
 | 
| 12
 3
 
 | 返回值eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MTAsImlhdCI6MTU0MzM5NzgwMn0.TMQoQEsCuUptXkix0-vYCN5FGJnynj7tSSeMda33giA
 decoded { id: 10, iat: 1543397802 }
 
 | 
![nodejs渐入佳境[23]-hash函数](/upload/otherpic34/238883.jpg)
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
                                                
                                                当前标题:nodejs渐入佳境[23]-hash函数-创新互联                                                
                                                文章转载:
http://www.scyingshan.cn/article/hjicc.html