【发布时间】:2010-02-02 15:19:57
【问题描述】:
我想在 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);
}
【问题讨论】:
-
我确定已经有人问过了...我只是找不到
标签: c# java cryptography rsa