5.7. Transmitting a DataSet Securely
Problem
You need to securely send a DataSet
over
a connection that is not secure.
Solution
Encrypt and
decrypt
the DataSet
using the .NET cryptographic services,
and serialize and save the encrypted DataSet
to a
stream (such as a file or network stream).
The sample code contains two event handlers:
- Encrypt
Button.Click
The first
Button.Click
creates aDataSet
and encrypts it using the algorithm specified by the user and writes the encryptedDataSet
to a file.- Decrypt
Button.Click
The second
Button.Click
decrypts a file containing aDataSet
previously encrypted using an algorithm specified by the user and uses the file to recreate theDataSet
previously encrypted.
The C# code is shown in Example 5-7.
Example 5-7. File: SecureTransmissionForm.cs
// Namespaces, variables, and constants using System; using System.Configuration; using System.Windows.Forms; using System.Xml; using System.IO; using System.Runtime.Serialization; using System.Runtime.Serialization.Formatters.Binary; using System.Security.Cryptography; using System.Data; using System.Data.SqlClient; // Table name constants private const String ORDERS_TABLE = "Orders"; private const String ORDERDETAILS_TABLE = "OrderDetails"; // Relation name constants private const String ORDERS_ORDERDETAILS_RELATION = "Orders_OrderDetails_Relation"; // Field name constants private const String ORDERID_FIELD = "OrderID"; private RSACryptoServiceProvider rSAReceiver; private const int keySize = 128; // DES key ...
Get ADO.NET Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.