代码之家  ›  专栏  ›  技术社区  ›  Jamal Abdul Nasir

将公钥转换为整数

  •  0
  • Jamal Abdul Nasir  · 技术社区  · 14 年前

    这些是RSAKeyValue:

    模数:

    **指数:**AQAB*

    我想做这个bcoz我想用另一个整数值取它的xor。。。

    泰恩斯。。。

    1 回复  |  直到 14 年前
        1
  •  -1
  •   Thorarin    14 年前

    不需要解释为什么首先要这么做;如果你想用另一个来异或模数,就不需要先把它表示成一个大整数。你可以用 Convert.FromBase64String 获取字节数组,并逐字节执行异或运算。

    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);
    

    BitConverter.GetBytes 将其转换为字节数组。

    据记录,.NET 3.5没有足够大的内置整数类来保存整个模数。RSA工作的全部原因是 非常 BigInteger ,但你不需要它。