故事背景
看到没写过代码的人聊算法细节装X,真的感觉非常逗,又不好意思戳破人家的表演,放到古代很可能就是赵括,能代替廉颇攻秦~
哈哈,貌似说多了,还是传说中的PUK项目,不仅有一个独特的加密数据方法DESede/CBC/PKCS5Padding,还加了一层RSA签名验证(非对称加密),双重加密保障,安全系数5颗星!
普及一下非对称加密,简单地说就是
甲方用自己的【私钥】对机密信息进行加密发送给乙方,乙方再用甲方的【公钥】对甲方发送的数据进行验签。
Talk is cheap,show you the code !
核心代码
const crypto = require("crypto");
/**
* 创建签名(使用私钥和数据)
*
* @param data
* @param privateKey
* @returns {string}
*/
function createSign(data, privateKey) {
const sign = crypto.createSign('RSA-SHA1');
sign.update(data);
sign.end();
return sign.sign(privateKey).toString('base64')
}
/**
* 签名验证(使用公钥、数据、签名)
*
* @param data
* &#