2010-07-02 59 views
3

以下函數能否正確散列我提供的字符串?或者我錯過了一些根本重要的東西?如何正確地散列字符串

Private Function HashString(ByVal value As String, ByVal salt As String) As String 

    Dim dataBytes As Byte() = System.Text.Encoding.UTF8.GetBytes(value + salt) 
    Dim hash As New System.Security.Cryptography.SHA512Managed 
    Dim hashBytes As Byte() = hash.ComputeHash(dataBytes) 

    Return Convert.ToBase64String(hashBytes) 

End Function 

回答

2

看起來不錯。允許食鹽很重要 - 儘管它仍然留給調用者以確保鹽是獨一無二的。

+0

看起來有點容易成爲現實,特別是有這麼多更復雜的例子浮出水面。謝謝。 – 2010-07-03 17:50:42

2

我認爲你有最好的做法,即哈希的醃製。這非常重要並且經常被忽視。在我看來很好。