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

582
Chương 14: Mật mã

}

// Phương thức dùng để giải mật hóa dữ liệu trao đổi và trích khóa phiên

// đối xứng. Để giải mật hóa dữ liệu trao đổi, chúng ta cần truy xuất

// PRIVATE KEY (từ kho chứa khóa do đối số cspParams chỉ định).

private static byte[] DeformatKeyExchange(byte[] exchangeData,

CspParameters cspParams) {

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

using (RSACryptoServiceProvider asymAlg =

new RSACryptoServiceProvider(cspParams)) {

// Tạo một RSA OAEP deformatter để trích khóa phiên

// từ dữ liệu trao đổi.

RSAOAEPKeyExchangeDeformatter deformatter

= new RSAOAEPKeyExchangeDeformatter();

// Chỉ định giải thuật RSA dùng để giải mật hóa dữ liệu trao đổi.

deformatter.SetKey(asymAlg);

// Giải mật hóa dữ liệu trao đổi và trả về khóa phiên.

return deformatter.DecryptKeyExchange(exchangeData);

}

}

}

Chạy

KeyExchangeExample

sẽ sinh ra kết xuất tương tự như sau:

Session Key at Source = EE-5B-16-5B-AC-46-3D-72-CC-73-19-D9-0B-8A-19-E2-A6-02-13-
BE-F8-CE-DF-40

Exchange Data = 60-FA-3B-63-41-25-F1-AD-08-F9-FC-67-CD-C6-FB-3E-0F-C3-62-

C6-3F-5C-C0-7E-D1-60-2D-19-58-07-EE-BB-7C-53-A5-C2-FB-CA-D7-64-FF-BA-33-77-AC-52-
87-5F-75-E7-57-99-01-90-CD-70-36-1E-53-0C-82-C6-CE-B8-BC-8B-C9-39-6F-29-39-5F-6C-

A6-43-E5-B0-A1-42-46-1C-9B-1C-72-EB-5E-67-06-44-C0-CE-AB-70-B8-39-8E-9F-01-E8-49-
51-36-D6-27-09-94-DA-42-CE-79-C2-72-88-4D-CE-63-B4-A0-AC-07-AF-26-A7-76-DE-21-BE-

A5

Session Key at Destination = EE-5B-16-5B-AC-46-3D-72-CC-73-19-D9-0B-8A-19-E2-A6-
02-13-BE-F8-CE-DF-40

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.