JS下RSA加解密

   最近项目中需要在JS中使用RSA进行加密,于是乎从网上找了一个RSA的JS(JSEncrypt)库,使用起来也很方便。其官网地址为:http://travistidwell.com/jsencrypt/。下载js文件,在项目中引入jsencrypt.min.js即可使用。
   使用公钥来加密数据:
var publicKey = "MIGfMA***************AB";
var encrypt = new JSEncrypt();
encrypt.setPublicKey(publicKey);
// 加密
var v_str = encrypt.encrypt(v_str); //需要加密的内容
console.log(v_str); 
console.log(stringToHex(v_str));
alert(v_str);
   私钥解密数据
var privateKey="MIIC*****qLNnis=";
var decrypt = new JSEncrypt();
decrypt.setPrivateKey(privateKey);
//解密数据      
var uncrypted = decrypt.decrypt(v_str);//需要解密的内容
console.log(uncrypted); 
   默认不支持数据分段加密,需要加密的字符串长度有限制,为了便于网络传输,可以对加密的结果转成十六进制字符。
function stringToHex(str){
   var val="";
   for(var i = 0; i < str.length; i++){
     if(val == "")
       val = str.charCodeAt(i).toString(16);
     else
       val += str.charCodeAt(i).toString(16);
   }
   return val.toUpperCase();
 }

参考:http://www.cnblogs.com/zaxxm/p/5144267.html

你可能感兴趣的:(JavaScript)