导航:首页 > 文档加密 > 前端做rsa加密

前端做rsa加密

发布时间:2022-09-28 23:43:47

⑴ 如何实现用javascript实现rsa加解密

用javascript实现rsa加解密的实现方式是通过PKCS完成的。
1、整个定义的function

function pkcs1pad2(s,n) {
if(n < s.length + 11) { // TODO: fix for utf-8
alert("Message too long for RSA");
return null;
}
var ba = new Array();
var i = s.length - 1;
while(i >= 0 && n > 0) {
var c = s.charCodeAt(i--);
//UTF-8编码为变长字节,使用实际的字节来记录
if(c < 128) { // encode using utf-8
ba[--n] = c;
}
else if((c > 127) && (c < 2048)) {
ba[--n] = (c & 63) | 128;
ba[--n] = (c >> 6) | 192;
}
else {
ba[--n] = (c & 63) | 128;
ba[--n] = ((c >> 6) & 63) | 128;
ba[--n] = (c >> 12) | 224;
}
}
//实际输入拼装结束,将下一位赋值为0标记结束
ba[--n] = 0;
var rng = new SecureRandom();
var x = new Array();
//拼接随机非0字节
while(n > 2) { // random non-zero pad
x[0] = 0;
while(x[0] == 0) rng.nextBytes(x);
ba[--n] = x[0];
}
//这两位做简单的校验
ba[--n] = 2;
ba[--n] = 0;
return new BigInteger(ba);
}
该方法中对UTF-8字符进行了兼容,并且在拼装完实际输入的字符后,还拼装了随机的字节,使用拼装后的字符串去加密。由于每次拼装的结果是随机的,这样每次加密后的密文都不同。
2、调用方法:;
function RSAEncrypt(text) {
var m = pkcs1pad2(text,(this.n.bitLength()+7)>>3);
if(m == null) return null;
var c = this.doPublic(m);
if(c == null) return null;
var h = c.toString(16);
if((h.length & 1) == 0) return h; else return "0" + h;
}

阅读全文

与前端做rsa加密相关的资料

热点内容
app根据什么看是否注册 浏览:928
冰箱压缩机烫手老跳闸 浏览:254
php日志系统架构 浏览:453
udp获取服务器ip地址 浏览:985
能把心里的恐惧解压出来的视频 浏览:368
三丰云上传服务器流程 浏览:812
php类常亮 浏览:819
如何用纸尿裤做解压玩具 浏览:608
程序员年龄和工资 浏览:766
压缩空气的特性简介 浏览:564
广乐美app是做什么的 浏览:323
android的spinner属性 浏览:929
店家帮平台源码 浏览:973
源码编辑器绘制图形 浏览:951
长沙云服务器提供商 浏览:107
51单片机测脉冲宽度 浏览:286
文件夹弄成二维码 浏览:283
python字典循环添加 浏览:692
闲置服务器怎么收费 浏览:162
阅读app是用什么开发的 浏览:37