日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

cryptico.js java解密_從Cryptico.js中提取RSA私鑰

發(fā)布時間:2023/12/10 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 cryptico.js java解密_從Cryptico.js中提取RSA私鑰 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

我相信這是一個非常基本的問題,但我開始使用JavaScript和RSA進(jìn)行研究,所以我有點(diǎn)失落。我剛剛下載了Cryptico庫,它爲(wèi)我提供了一個易於使用的RSA密鑰生成/加密/解密。從Cryptico.js中提取RSA私鑰

publicKeyString(RsaKey)

哪個:

my.publicKeyString = function(rsakey)

{

pubkey = my.b16to64(rsakey.n.toString(16));

return pubkey;

}

的rsakey.n定義所生成的RSA密鑰的公共部分,可以很容易地只使用命令來提取同時在函數(shù)中生成密鑰:

function RSAGenerate(B, E)

{

var rng = new SeededRandom();

var qs = B >> 1;

this.e = parseInt(E, 16);

var ee = new BigInteger(E, 16);

for (;;)

{

for (;;)

{

this.p = new BigInteger(B - qs, 1, rng);

if (this.p.subtract(BigInteger.ONE).gcd(ee).compareTo(BigInteger.ONE) == 0 && this.p.isProbablePrime(10)) break;

}

for (;;)

{

this.q = new BigInteger(qs, 1, rng);

if (this.q.subtract(BigInteger.ONE).gcd(ee).compareTo(BigInteger.ONE) == 0 && this.q.isProbablePrime(10)) break;

}

if (this.p.compareTo(this.q) <= 0)

{

var t = this.p;

this.p = this.q;

this.q = t;

}

var p1 = this.p.subtract(BigInteger.ONE);

var q1 = this.q.subtract(BigInteger.ONE);

var phi = p1.multiply(q1);

if (phi.gcd(ee).compareTo(BigInteger.ONE) == 0)

{

this.n = this.p.multiply(this.q);

this.d = ee.modInverse(phi);

this.dmp1 = this.d.mod(p1);

this.dmq1 = this.d.mod(q1);

this.coeff = this.q.modInverse(this.p);

break;

}

}

}

但是私有部分的關(guān)鍵,我只是不明白如何提取,所以我將能夠保存公鑰/私鑰部分,並可供以後使用。

總結(jié)

以上是生活随笔為你收集整理的cryptico.js java解密_從Cryptico.js中提取RSA私鑰的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。