1

コード(以下)では、この部分の目的がよくわかりません{&H76, &H61, &H6E, &H20, &H4D, _ &H65, &H64, &H76, &H65, &H64, &H65}。これらのバイトは何のためですか? 変更できますか?私は暗号化に慣れていません(ここではNoob)。その行は私を混乱させました。そして、これには定義がありますか?私にはASCIIコードのように見えます。ありがとう!

Dim x As New Rfc2898DeriveBytes(EncryptionKey, New Byte() { &H76, &H61, &H6E, &H20, &H4D, _
             &H65, &H64, &H76, &H65, &H64, &H65}, 1000)
4

1 に答える 1

1

です。これは、特定のデータ ビット (パスワードなど) をハッシュするためのランダム キーとして使用されます。

通常はソルトなしで、単純なパスワード文字列をハッシュすると、レインボー テーブルと比較することでハッシュを解除できます。しかし、ソルトを追加すると、単純な文字列がハッシュされる前により複雑な文字列に変わります。

通常、バイトのランダムな配列を意味します。したがって、ソルトは 16 進数の 0x76、0x61、0x6e、0x20、0x4d、0x65、0x64、0x76、0x65、0x64、0x65 です。

次のスニペットを使用して、salt 配列をランダム化できます。

Dim salt1(8) As Byte
Using rngCsp As New RNGCryptoServiceProvider()
    rngCsp.GetBytes(salt1)
End Using 
于 2013-10-30T02:18:27.427 に答える