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

571

Chương 14: Mật mã

using System.Text;

using System.Security.Cryptography;

public class AsymmetricEncryptionExample {

public static void Main(string[] args) {

// Khai báo một biến RSAParameters, biến này sẽ chứa

// thông tin PUBLIC KEY của người nhận.

RSAParameters recipientsPublicKey;

// Khai báo một biến CspParameters, biến này sẽ cho biết

// PRIVATE KEY được lưu trữ trong kho chứa khóa nào.

// Thông thường, chỉ có người nhận mới có thể truy xuất

// thông tin này. Với mục đích minh họa, chúng ta sẽ tạo

// một cặp khóa ngay đầu ví dụ và sử dụng các khóa này

// cho cả bên gửi và bên nhận.

CspParameters cspParams = new CspParameters();

cspParams.KeyContainerName = "MyKeys";

// Tạo cặp khóa bất đối xứng bằng lớp RSACryptoServiceProvider.

// Lưu các khóa này vào một kho chứa khóa có tên là "MyKeys"

// và trích thông tin PUBLIC KEY vào biến recipientsPublicKey.

using (RSACryptoServiceProvider rsaAlg =

new RSACryptoServiceProvider(cspParams)) {

// Cấu hình cho giải thuật lưu khóa vào kho chứa khóa.

rsaAlg.PersistKeyInCsp = true;

// Trích PUBLIC KEY.

recipientsPublicKey = rsaAlg.ExportParameters(false);

}

// Hiển thị thông điệp plaintext gốc.

Console.WriteLine("Original message = {0}", args[0]);

// Chuyển thông điệp gốc thành mảng byte. Tốt nhất là không

// truyền các thông tin bí mật ở dạng chuỗi giữa các phương thức.

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.