Jumat, 05 Oktober 2012

Hash Password di C # dan Visual Basic Menggunakan SHA-512

Kami baru-baru ini dibahas cara mudah untuk password hash menggunakan SHA-1 di NET baik menggunakan Visual Basic atau C #.. Dalam kebanyakan kasus, SHA-1 enkripsi adalah "cukup aman", namun ada beberapa kelemahan matematika. . NET platform Microsoft (khusus kelas System.Security) memungkinkan Anda untuk mengenkripsi password dengan sejumlah algoritma differnet tanpa harus mengetahui matematika di belakang mereka.
Hari ini, kita akan mengenkripsi string dengan SHA-2, khususnya SHA-512 derivasi dari SHA-2, yang secara hipotetis harus lebih aman daripada SHA-1 karena memiliki pesan yang lebih panjang dibanding mencerna SHA-1. Contoh kode saya akan memamerkan hari juga menggunakan "garam", sedangkan fungsi sebelumnya saya memamerkan tidak. Ini akan membuat Anda immume hashed password-lebih untuk attacts kamus karena tidak hanya akan hacker harus mengembangkan hash untuk setiap password yang umum dikenal, tetapi juga sebagai setiap password yang biasa dikenal dikalikan dengan jumlah hampir tak terbatas dari garam mungkin.

 
Berikut fungsi


Public Shared Function CreateSHAHash(Password As String, Salt As String) As String
    Dim HashTool As New System.Security.Cryptography.SHA512Managed()
    Dim PasswordAsByte As [Byte]() = System.Text.Encoding.UTF8.GetBytes(String.Concat(Password, Salt))
    Dim EncryptedBytes As [Byte]() = HashTool.ComputeHash(PasswordAsByte)
    HashTool.Clear()
    Return Convert.ToBase64String(EncryptedBytes)
End Function

Cara kerjanya: 

Metode ini memanfaatkan kelas System.Security.Cryptography. Ini menggabungkan password dan garam yang Anda berikan dan mengubahnya menjadi array byte-. Ini berjalan mereka byte melalui fungsi perhitungan telah disediakan oleh kelas dan mengembalikan sebuah string 88-bit dari message-digest/hash yang dibuat.

Tidak ada komentar:

Posting Komentar

Recommended Post Slide Out For Blogger
Related Posts Plugin for WordPress, Blogger...