FormsAuthentication не объявлена - PullRequest
0 голосов
/ 06 мая 2011

Я использую VB.NET 2010.

Одна из моих строк кода:

Encoding.UTF8.GetBytes(FormsAuthentication.HashPasswordForStoringInConfigFile(TextBox_AccessCode.Text, "MD5"))

Но FormsAuthentication подчеркнут, и ошибка, читающая 'FormsAuthentication', не объявлена. Я гарантировал, что пространство имен System.Web.Security импортировано, но я все еще получаю сообщение.

Есть идеи?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 06 мая 2011

Благодаря TBohnen.jnr я обнаружил, что проверка подлинности с помощью форм не является частью Windows Forms через VB.NET.В итоге я использовал следующий код для генерации хеша MD5:

    Public Shared Function MD5(ByVal str As String) As String
    Dim provider As MD5CryptoServiceProvider
    Dim bytValue() As Byte
    Dim bytHash() As Byte
    Dim strOutput As String = ""
    Dim i As Integer
    provider = New MD5CryptoServiceProvider()
    bytValue = System.Text.Encoding.UTF8.GetBytes(str)
    bytHash = provider.ComputeHash(bytValue)
    provider.Clear()
    For i = 0 To bytHash.Length - 1
        strOutput &= bytHash(i).ToString("x").PadLeft(2, "0")
    Next
    Return strOutput
End Function
0 голосов
/ 06 мая 2011

FormsAuthentication является частью System.Web, который используется в asp.net и недоступен через Win Forms.Не совсем уверен, сможете ли вы импортировать dll и использовать его таким образом, я сомневаюсь в этом ...

Если вы просто хотите хешировать строку md5, вы можете сделать следующее:

new System.Security.Cryptography.MD5CryptoServiceProvider();
byte[] bs = System.Text.Encoding.UTF8.GetBytes(TextBox_AccessCode.Text);
x.ComputeHash(bs);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...