首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将公钥转换为整数

将公钥转换为整数
EN

Stack Overflow用户
提问于 2010-07-18 11:50:25
回答 1查看 479关注 0票数 0

如何将下列公钥转换为整数。

这些是RSAKeyValue:

yf4I7PVef43rZ2NdPFA5FQFb/y/k/5Awqrwc+/VDUimthRg4C5K2P6EUhU5n2m4HUiz102LIuwsYDYuyHwG3VUbAb4zjqxiOwrSpsHfCvgOdLsb4DBrXFFGp5kMtoZrDzl84tnDlyYgy8v3o5Qp2eeQgDaau2PhYUxoco6IArHU= 模组:

**指数:*AQAB*

我想做这个do,因为我想用另一个整数值取它的xor .

请帮帮我..。

天啊..。

EN

回答 1

Stack Overflow用户

发布于 2010-07-18 12:37:12

首先,不讨论为什么要这样做;如果您想用另一个变量来异或模数,就不需要首先将它表示为一个大整数。您可以使用Convert.FromBase64String获取一个字节数组,并将这些字节作为字节进行异或。

代码语言:javascript
复制
string firstModulus = "yf4I7 ...etc... HU=";
string secondModulus = "...";

byte[] m1 = Convert.FromBase64String(firstModulus);
byte[] m2 = Convert.FromBase64String(secondModulus);

byte[] xor = new byte[m1.Length];
for (int i = 0; i < m1.Length; i++)
    xor[i] = (byte)(m1[i] ^ m2[i % m2.Length]);

string xorString = Convert.ToBase64String(xor);

编辑:我更新了代码,允许m2比m1数组短。数组m2可以从任何源填充。在本例中,我使用第二个base64字符串,但如果使用常规整数,则可以使用BitConverter.GetBytes将其转换为字节数组。

作为记录,.NET 3.5没有一个内置的整数类,它的大小足以容纳整个模数。RSA工作的全部原因是因为它们是非常大的数字。.NET 4有BigInteger,但是这里不需要它。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3275385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档