나는 내 웹 사이트 암호 해시를 시도하고 있는데 조금 실험 해봤는데 결과가 나왔다. 이제 이것이 실제로 내 암호를 해싱하는 좋은 방법인지 묻습니다.ASP.NET || 이것은 암호를 해시하는 좋은 방법입니까?
내 주요 코드 :
Imports System.Security.Cryptography
Partial Class _Default
Inherits System.Web.UI.Page
Protected Sub Button1_Click(sender As Object, e As System.EventArgs) Handles Button1.Click
Dim strWoordOmTeHashen As String
Dim strSalt1, strSalt2, strSalt3 As String
Dim random As New Random
Dim arrSalt1(255), arrSalt2(255), arrSalt3(255) As String
For i = 0 To 255
arrSalt1(i) = random.Next(1, 26).ToString
arrSalt2(i) = random.Next(1, 26).ToString
arrSalt3(i) = random.Next(1, 26).ToString
Next
For i = 0 To 255
arrSalt1(i) = VeranderGetalNaarLetter.VeranderGetalNaarLetter(CInt(arrSalt1(i)))
arrSalt2(i) = VeranderGetalNaarLetter.VeranderGetalNaarLetter(CInt(arrSalt2(i)))
arrSalt3(i) = VeranderGetalNaarLetter.VeranderGetalNaarLetter(CInt(arrSalt3(i)))
Next
For i = 0 To 255
strSalt1 &= arrSalt1(i)
strSalt2 &= arrSalt2(i)
strSalt3 &= arrSalt3(i)
Next
strWoordOmTeHashen = strSalt1 & strSalt2 & txtWoord.Text & strSalt3
'Sha512 zoder salt
Dim sham As New SHA512Managed
Dim result As Byte()
Dim data As Byte()
Dim hexstring As String
data = ASCIIEncoding.ASCII.GetBytes(strWoordOmTeHashen)
result = sham.ComputeHash(data)
For i = 0 To UBound(result)
hexstring &= Hex(result(i)).ToLower
Next
TextBox1.Text = hexstring
End Sub
End Class
당신은 내가 함수를 호출하고있어 것을 알 수 있습니다. 공공 클래스 VeranderGetalNaarLetter
Public Shared Function VeranderGetalNaarLetter(intSalt As Integer) As String
Dim strAlfabet As String = "!abcdefghijklmnopqrstuvwxyz"
Dim strLetter As String
strLetter = strAlfabet.Substring(intSalt, 1)
Return strLetter
End Function
End Class
모든 의견을 환영합니다 :이 함수를 호출하고 있습니다. 내 프로그래밍을 조금 개선하기 위해 의견을 얻고 싶습니다. 사전에 감사합니다 :)
그래,하지만 소금에 대해 읽고 있었어. 나는 네가 소금을 사용하는 것을 보지 않는다. 필요하거나 그렇지 않은가? –