这些字节是什么?

时间:2013-10-30 02:09:08

标签: asp.net vb.net security byte aes

在代码(下面)中,我并不完全理解这部分{&H76, &H61, &H6E, &H20, &H4D, _ &H65, &H64, &H76, &H65, &H64, &H65}的目的。这些字节是什么?我可以改变它吗?我不熟悉加密(Noob here),这条线让我感到困惑。这有定义吗?它对我来说看起来像一个ASCII代码。谢谢!

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

1 个答案:

答案 0 :(得分:1)

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

通常没有salt,如果你对一个简单的密码字符串进行散列,可以通过将它与rainbow table进行比较来取消它。但是添加salt后,它会在散列之前将一个简单的字符串转换为更复杂的字符串。

它通常意味着是一个随机的字节数组。所以你的盐是十六进制的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