1

在代码(下面)中,我不太了解这部分的目的{&H76, &H61, &H6E, &H20, &H4D, _ &H65, &H64, &H76, &H65, &H64, &H65}。这些字节是干什么用的?我可以改变它吗?我不熟悉加密(这里是菜鸟),那条线让我感到困惑。对此有定义吗?对我来说,它看起来像一个 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

。它用作随机密钥来散列特定数据位(例如,密码)。

通常没有盐,如果你散列一个简单的密码字符串,可以通过将它与彩虹表进行比较来取消散列。但是添加盐,它会在散列之前将一个简单的字符串变成一个更复杂的字符串。

它通常是一个随机的字节数组。所以你的盐是十六进制的 0x76、0x61、0x6e、0x20、0x4d、0x65、0x64、0x76、0x65、0x64、0x65。

您可以使用以下代码片段随机化盐数组。

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