已知一个网页RSA加密js脚本,如何引用它对一串数字加密?我不懂里面的函数,不知该怎么套用函数,求指教
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了已知一个网页RSA加密js脚本,如何引用它对一串数字加密?我不懂里面的函数,不知该怎么套用函数,求指教相关的知识,希望对你有一定的参考价值。
js代码如下:
(function($w)
if(typeof $w.RSAUtils === 'undefined')
var RSAUtils = $w.RSAUtils = ;
var biRadixBase = 2;
var biRadixBits = 16;
var bitsPerDigit = biRadixBits;
var biRadix = 1 << 16; // = 2^16 = 65536
var biHalfRadix = biRadix >>> 1;
var biRadixSquared = biRadix * biRadix;
var maxDigitVal = biRadix - 1;
var maxInteger = 9999999999999998;
var maxDigits;
var ZERO_ARRAY;
var bigZero, bigOne;
var BigInt = $w.BigInt = function(flag)
if (typeof flag == "boolean" && flag == true)
this.digits = null;
else
this.digits = ZERO_ARRAY.slice(0);
this.isNeg = false;
;
RSAUtils.setMaxDigits = function(value)
maxDigits = value;
ZERO_ARRAY = new Array(maxDigits);
for (var iza = 0; iza < ZERO_ARRAY.length; iza++) ZERO_ARRAY[iza] = 0;
bigZero = new BigInt();
bigOne = new BigInt();
bigOne.digits[0] = 1;
;
RSAUtils.setMaxDigits(20);
··················
··················
中间还有很多子函数,字数限制 只能省略,不知道影不影响
block = key.barrett.powMod(bi, key.d);
for (j = 0; j <= RSAUtils.biHighIndex(block); ++j)
result += String.fromCharCode(block.digits[j] & 255,
block.digits[j] >> 8);
// Remove trailing null, if any.
if (result.charCodeAt(result.length - 1) == 0)
result = result.substring(0, result.length - 1);
return result;
;
RSAUtils.setMaxDigits(130);
)(window);
var key = RSAUtils.getKeyPair(exponent, '', modulus);//modulus 是解密钥匙
var updPwd=RSAUtils.encryptedString(key, password);//password 你要加密的密码
然后只要保存updPwd到数据库就可以了。 参考技术A 其实过程都不用太去了解。你知道其中的几个函数就行了。。
知道几个参数: setMaxDigits ()这个里面的值
//生成rsa的key
function RSAKeyPair(encryptionExponent, decryptionExponent, modulus)
//加密 字串输出函数
function encryptedString(key, s)
----自己写一个简单的 函数,引用入密码就可以了
解决项目中的RSA加密解密算法的实际案例
目前项目中在2个地方用到了RSA加密算法
1.一个地方时登录的时候,前端js做了RSA加密,然后后端RSA解密
2.H5移动端的url中存在RSA加密串
但是在时间压测中,主要的问题是H5请求的url中存在RSA加密串
登录的RSA逻辑:
在压测脚本 中 这个RSA登录密码加密是可以解决的,直接将所有的密码统一成RSA的加密串就可以
但是在H5端的url中存在这个RSA加密串,那么就需要解决这个问题
那么如果需要做性能压测,这个问题必须要解决,否则一些url请求是无法模拟的
通过上述的方法,就可以完成fillder抓包中的请求参数s加密串的生成和通过s解析出token来
如果java代码写完了,可以直接打成jar包文件直接放到Jmeter里调用
以上是关于已知一个网页RSA加密js脚本,如何引用它对一串数字加密?我不懂里面的函数,不知该怎么套用函数,求指教的主要内容,如果未能解决你的问题,请参考以下文章