JS下RSA加解密

本文详细介绍了如何在JavaScript环境中实现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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值