|
Пример симметричного шифрования данных в .NET.
На форму установить TextBox (name="txtText"), две кнопки (btnEncrypt и btnDecrypt). И вот такой код: '---Симметричное шифрование---
'Ключ и вектор инициализации для симметричного шифрования
Dim Key As Byte() = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16} 'Ключ
Dim IV As Byte() = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16} 'Вектор инициализации
Private Sub btnEncrypt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEncrypt.Click
'Создаём экземпляр класса RijndaelManaged
Dim RMCrypto As New Security.Cryptography.RijndaelManaged
'Создаём FileStream, туда будет записана зашифрованная информация
Dim fs As New IO.FileStream("C:\crypted.dat", IO.FileMode.Create)
'Создаём CryptoStream
Dim CryptStream As New Security.Cryptography.CryptoStream(fs, RMCrypto.CreateEncryptor(Key, IV), Security.Cryptography.CryptoStreamMode.Write)
'Создаём StreamWriter для записи данных в CryptoStream
Dim SWriter As New IO.StreamWriter(CryptStream)
'Пишем что-нибудь в CryptoStream
SWriter.WriteLine(txtText.Text)
'Закрываем все объекты
SWriter.Close()
fs.Close()
CryptStream.Close()
End Sub
Private Sub btnDecrypt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDecrypt.Click
'Создаём экземпляр класса RijndaelManaged
Dim RMCrypto As New Security.Cryptography.RijndaelManaged
'Создаём FileStream, оттуда будем читать зашифрованную информацию
Dim fs As New IO.FileStream("C:\crypted.dat", IO.FileMode.Open)
'Создаём CryptoStream
Dim CryptStream As New Security.Cryptography.CryptoStream(fs, RMCrypto.CreateDecryptor(Key, IV), Security.Cryptography.CryptoStreamMode.Read)
'Создаём StreamReader для чтения данных из CryptoStream
Dim SReader As New IO.StreamReader(CryptStream)
'Читаем расшифрованную информацию из CryptoStream и пишем её в консоль
txtText.Text = SReader.ReadToEnd()
'Закрываем все объекты
SReader.Close()
fs.Close()
CryptStream.Close()
End Sub
|
|