我希望在Java中生成私钥,将其保存为一个64进制编码的字符串到某个文件中,然后使用此保存的文件加密C#中的某些短语。 我知道如何在Java中生成并用64位编码加密密钥。 我的问题是如何在C#中使用此密钥? 下面是用于将私钥保存到文本文件中的Java代码原型:
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
RSAKeyGenParameterSpec spec = new RSAKeyGenParameterSpec(1024, RSAKeyGenParameterSpec.F4);
keyGen.initialize(spec);
KeyPair keyPair = keyGen.generateKeyPair();
PrivateKey privateKey = keyPair.getPrivate();
writeToFile("privateKey", Base64.encode(keyPair.getPrivate().getEncoded()));
我想在C#中实现以下功能,但找不到如何从私钥创建RSAParameters或RSACryptoServiceProvider的方法。
public static string DecryptData(string privateKey64Base, string data64Base)
{
// create using privateKey64Base
// create RSACryptoServiceProvider rsa using RSAParameters above
// byte[] encryptedData = rsa.Encrypt(Convert.FromBase64String(data64Base);
}