Отправляет email-рассылки с помощью сервиса Sendsay

Relib.Com - руководство

  Все выпуски  

Relib.Com - руководство


Информационный Канал Subscribe.Ru

Скидка 15% на услуги Windows-хостинга. Только для посетелей Relib.com!

Работам с MD5 (System.Security.Cryptography) в VB.NET

Алгоритм MD5 является превосходным способом односторонней проверки целостности данных, который можно использовать, например, для подсчета контрольной суммы файлов (чтобы определить, был ли изменен файл) или для установления подлинности паролей. Последнее применение алгоритма получило широкое признание, т.к. вместо того, чтобы работать с паролями в явном виде (в виде текстовых строк) MD5 позволяет сравнивать хэш введенного пароля с оригинальным хэшем MD5, сохраненным ранее. Такой подход не подвергнет опасности ваше приложение, т.к. кодирование возможно только в одном направлении. Такая же технология используется, например, и в Windows.

В VB6 для работы с шифрованием требовалось использовать Win32 CryptoAPI, в новой версии, в VB.NET для этого есть встроенные классы System.Security.Cryptography. Ниже приведен пример создания функции, которая возвращает MD5 хэш в виде строки (тип String). Эта функция может быть без изменения использована для системы аутентификации в вашем приложении. Сначала используйте ее для сохранения зашифрованного оригинального пароля в БД, затем для сравнения зашифрованного вводимого пароля с хэшем оригинального пароля из БД.

Imports System.Text
Imports System.Security.Cryptography

Private Function GenerateHash(ByVal SourceText As String) As String
'Создадим объект для перекодирования исходного текста
Dim Ue As New UnicodeEncoding()
'Получим из исходного текста байтовый массив
Dim ByteSourceText() As Byte = Ue.GetBytes(SourceTStext)
'Создадим объект MD5 Provider
Dim Md5 As New MD5CryptoServiceProvider()
'Вычислим хэш из исходного текста
Dim ByteHash() As Byte = Md5.ComputeHash(ByteSourceText)
'Вернем хэш в виде String
Return Convert.ToBase64String(ByteHash)
End Function


Happy programming!

Relib.com



http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное