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

581

Chương 14: Mật mã

// Trích khóa phiên từ dữ liệu trao đổi bằng

// phương thức DeformatKeyExchange.

byte[] sessionKey = DeformatKeyExchange(exchangeData,

cspParams);

// Hiển thị khóa phiên vừa được trích.

Console.WriteLine("Session Key at Destination = {0}\n\r",

BitConverter.ToString(sessionKey));

// Nhấn Enter để kết thúc.

Console.ReadLine();

}

}

// Phương thức dùng để mật hóa và định dạng khóa phiên đối xứng.

// Để mật hóa khóa phiên, chúng ta cần truy xuất PUBLIC KEY

// của người nhận (trong cấu trúc RSAParameters).

private static byte[] FormatKeyExchange(byte[] sessionKey,

RSAParameters rsaParams) {

// Tạo một giải thuật bất đối xứng RSA.

using (RSACryptoServiceProvider asymAlg =

new RSACryptoServiceProvider()) {

// Nạp PUBLIC KEY của người nhận.

asymAlg.ImportParameters(rsaParams);

// Tạo một RSA OAEP formatter để định dạng dữ liệu trao đổi.

RSAOAEPKeyExchangeFormatter formatter

= new RSAOAEPKeyExchangeFormatter();

// Chỉ định giải thuật RSA dùng để mật hóa khóa phiên.

formatter.SetKey(asymAlg);

// Mật hóa và định dạng khóa phiên rồi trả về kết quả.

return formatter.CreateKeyExchange(sessionKey);

}

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.