0

この投稿は、私が必要としているものを尋ねるようなものですが、あまりよくありません...パスワードを暗号化する方法

基本的に私はモデル「ユーザー」を持っています

Public Class User

    Public Property ID As Integer

    Public Property NickName As String

    Public Property EmailAddress As String

    Public Property Password As String

End Class

こんなことができるようになりたい…。

Public Class User

    Public Property ID As Integer

    Public Property NickName As String

    Public Property EmailAddress As String

    Public Property Password As String
        Get
            Return Password
        End Get
        Set(value As String)
            Password = DoMyHashing(value)
        End Set
    End Property

End Class

これを簡単に行う方法はありますか?

編集:それ以来、フェデレーションIDシステムを使用するBrockAllen.MembershipRebootの使用を開始しました。私の意見では、メンバーシッププロバイダーよりもはるかに優れています!

4

1 に答える 1

1

セキュリティは軽視すべきものではありません。シンプルだからと言って安全とは限りません。そのため、既にセキュリティを実装しており、ハッシュ化されたバージョンのパスワードのみをデータベースに格納している既存のメンバーシップ プロバイダーを使用できます。

また、メンバーシップ プロバイダーを使用したくないが、パスワード ハッシュを自分で実装したい場合は、good guideコーディングに入る前に検討することをお勧めします。

パスワードハッシュを生成する安全な方法は次のとおりです。

パスワードを保存するには

  1. CSPRNG を使用してロング ランダム ソルトを生成します。
  2. パスワードの先頭にソルトを追加し、SHA256 などの標準の暗号化ハッシュ関数でハッシュします。
  3. ソルトとハッシュの両方をユーザーのデータベース レコードに保存します。

パスワードを検証するには

  1. データベースからユーザーのソルトとハッシュを取得します。
  2. 指定されたパスワードの前にソルトを追加し、同じハッシュ関数を使用してハッシュします。
  3. 指定されたパスワードのハッシュをデータベースのハッシュと比較します。一致する場合、パスワードは正しいです。そうでない場合、パスワードが正しくありません。
于 2013-03-17T14:07:22.537 に答える