Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Membaca dan Menggunakan Kunci Peribadi PEM RSA untuk Penyahsulitan dalam .NET?

Bagaimana untuk Membaca dan Menggunakan Kunci Peribadi PEM RSA untuk Penyahsulitan dalam .NET?

Linda Hamilton
Lepaskan: 2025-01-06 11:39:41
asal
175 orang telah melayarinya

How to Read and Use a PEM RSA Private Key for Decryption in .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:

  1. Janakan pasangan kunci dan sulitkan beberapa teks menggunakan alat dalam talian seperti http://travistidwell.com/jsencrypt/demo/.
  2. Gunakan coretan kod berikut untuk mengimport kunci peribadi PEM dan menyahsulit ciphertext:
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));
Salin selepas log masuk

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)); 
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan