CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 573

573

Chương 14: Mật mã

// Khai báo mảng byte chứa ciphertext.

byte[] ciphertext = null;

// Tạo một thể hiện của giải thuật RSA.

using (RSACryptoServiceProvider rsaAlg =

new RSACryptoServiceProvider()) {

rsaAlg.ImportParameters(rsaParams);

// Mật hóa plaintext bằng OAEP padding

// (chỉ được hỗ trợ trên Windows XP trở về sau).

ciphertext = rsaAlg.Encrypt(plaintext, true);

}

// Xóa các giá trị được giữ trong mảng byte chứa plaintext.

// Điều này bảo đảm dữ liệu bí mật không còn trong bộ nhớ

// sau khi bạn giải phóng tham chiếu đến nó.

Array.Clear(plaintext, 0, plaintext.Length);

return ciphertext;

}

// Phương thức dùng để giải mật hóa một thông điệp (đã-được-mật-hóa-

// theo-RSA) bằng PRIVATE KEY (do đối tượng CspParameters chỉ định).

private static byte[] DecryptMessage(byte[] ciphertext,

CspParameters cspParams ) {

// Khai báo mảng byte chứa plaintext (đã-được-giải-mật-hóa).

byte[] plaintext = null;

// Tạo một thể hiện của giải thuật RSA.

using (RSACryptoServiceProvider rsaAlg =

new RSACryptoServiceProvider(cspParams)) {

// Giải mật hóa plaintext bằng OAEP padding.

plaintext = rsaAlg.Decrypt(ciphertext, true);

}

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.