Tôi muốn tạo khóa riêng trong java, lưu nó dưới dạng chuỗi được mã hóa 64 trong một số tệp và sau đó mã hóa một số cụm từ trong C# bằng cách sử dụng tệp đã lưu này. Tôi biết để tạo khóa trong java và mã hóa nó với 64 cơ sở. Câu hỏi của tôi là làm cách nào để sử dụng khóa này trong C#? Đây là một nguyên mẫu mã java để lưu khóa bí mật vào một file text:RSA: Cách tạo khóa riêng trong java và sử dụng nó trong C#?
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()));
Tôi muốn thực hiện chức năng sau trong C# nhưng không thể tìm cách tạo RSAParameters hoặc RSACryptoServiceProvider từ tin chính
public static string DecryptData(string privateKey64Base, string data64Base)
{
// create using privateKey64Base
// create RSACryptoServiceProvider rsa using RSAParameters above
// byte[] encryptedData = rsa.Encrypt(Convert.FromBase64String(data64Base);
}
Tôi chắc chắn rằng đã được yêu cầu ... Tôi chỉ không thể tìm thấy –