最近作的項目涉及到了登錄密碼加密,整理幾種加密的方式:加密
首先引入一下js文件,路徑根據實際狀況自行修改:code
<script src="../pidcrypt.js"></script> <script src="../pidcrypt_util.js"></script> <script src="../asn1.js"></script> <script src="../jsbn.js"></script> <script src="../rng.js"></script> <script src="../prng4.js></script> <script src="../rsa.js"></script>
而後初始化rsa:ip
var pubKey = '{$pubKey}'; var keyParams = certParser(pubKey); var key = pidCryptUtil.decodeBase64(keyParams.b64); var rsa = new pidCrypt.RSA(); var asn = pidCrypt.ASN1.decode(pidCryptUtil.toByteArray(key)); var tree = asn.toHexTree(); rsa.setPublicKeyFromASN(tree);
使用方式:encryptBase64(value, rsa);
value表明要加密的值,rsa是前面初始化好的rsa變量。md5
引入文件:變量
<script src="../pidcrypt.js"></script> <script src="../md5.js"></script>
使用方式:pidCrypt.MD5(value);rsa
引入文件:密碼
<script src="../pidcrypt.js"></script> <script src="../sha256.js"></script>
使用方式:pidCrypt.SHA256(value);
整體而言,rsa加密會比其餘兩種方式複雜,須要注意的是,rsa在初始化時必定要先賦給它一個公鑰。項目