加密

基础知识:

消息摘要(Message Digest)

1. sha1算法

cookie-parse中对cookie值进行摘要,如:

//对string进行sha1算法  
function sha1(str){  
  return crypto.createHash('sha1').update(str).digest('hex');  
}

可以参考博客:http://blog.csdn.net/liangklfang/article/details/51072424

2.非对称加密概念(RSA)

有两个key,私钥和公钥,甲方公钥加密进行传输,乙方用私钥对密文进行解密,对应nodejs的包为node-rsa,代码如下:

var NodeRSA = require('node-rsa');
var key = new NodeRSA({b: 512});
console.log("key:",key);    //包含key的各种信息
 
var text = 'Hello RSA!';
var encrypted = key.encrypt(text, 'base64');  
console.log('encrypted: ', encrypted);
//对text加密:BiwS93HOUjgr8FK0ZpEcIoxlYccAL+ikeFngE8xk/a/KJ2oCZl73mjwWuj967D+vrRjRU4CfY1Fnvgc4ZrH2Tg==
var decrypted = key.decrypt(encrypted, 'utf8');
//对text解密: Hello RSA!
console.log('decrypted: ', decrypted);

3.HTTPS的算法

HTTPS一般使用的加密与HASH算法如下:

非对称加密算法:RSA,DSA/DSS

对称加密算法:AES,RC4,3DES

HASH算法:MD5,SHA1,SHA256

原文地址:https://www.cnblogs.com/liuyinlei/p/7623431.html