Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Membaca dan Menggunakan Kunci Peribadi PEM RSA untuk Penyahsulitan dalam .NET?
Membaca Kunci Peribadi PEM RSA dalam .NET
Dalam .NET, anda boleh membaca kunci peribadi PEM RSA dengan mudah dan membuat contoh RSACryptoServiceProvider untuk menyahsulit data yang disulitkan dengan orang awam yang sepadan kunci.
.Sokongan .NET 5
.NET 5 kini menawarkan sokongan terbina dalam untuk tugas ini. Untuk menggunakannya, teruskan seperti berikut:
var privateKey = @"-----BEGIN RSA PRIVATE KEY----- { the full PEM private key } -----END RSA PRIVATE KEY-----"; var rsa = RSA.Create(); rsa.ImportFromPem(privateKey.ToCharArray()); var decryptedBytes = rsa.Decrypt( Convert.FromBase64String("{ base64-encoded encrypted string }"), RSAEncryptionPadding.Pkcs1 ); // this will print the original unencrypted string Console.WriteLine(Encoding.UTF8.GetString(decryptedBytes));
Penyelesaian BouncyCastle Asal
Sebelum .NET 5, perpustakaan BouncyCastle menyediakan penyelesaian:
var bytesToDecrypt = Convert.FromBase64String("la0Cz.....D43g=="); // string to decrypt, base64 encoded AsymmetricCipherKeyPair keyPair; using (var reader = File.OpenText(@"c:\myprivatekey.pem")) // file containing RSA PKCS1 private key keyPair = (AsymmetricCipherKeyPair) new PemReader(reader).ReadObject(); var decryptEngine = new Pkcs1Encoding(new RsaEngine()); decryptEngine.Init(false, keyPair.Private); var decrypted = Encoding.UTF8.GetString(decryptEngine.ProcessBlock(bytesToDecrypt, 0, bytesToDecrypt.Length));
Atas ialah kandungan terperinci Bagaimana untuk Membaca dan Menggunakan Kunci Peribadi PEM RSA untuk Penyahsulitan dalam .NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!