Guten Tag
Ich habe für meinen eigenen Zwecke eine Klasse komplett selbst geschrieben, die die Benutzung von Hashes für mich zumindestens einfacher macht, und diese Klasse möchte ich euch heute zur Verfügung stellen.
Ich möchte keine Kommentare hören, dass diese Klasse sinnlos sei, denn ich habe sie hier veröffentlicht, für diejenigen, die sie gebrauchen können.
MfG
Jonas Jelonek
Ich habe für meinen eigenen Zwecke eine Klasse komplett selbst geschrieben, die die Benutzung von Hashes für mich zumindestens einfacher macht, und diese Klasse möchte ich euch heute zur Verfügung stellen.
VB.NET-Quellcode
- Option Strict On
- Imports System.Security.Cryptography
- Imports System.Text
- Public Class Hash
- Public Shared Function GenerateSalt() As Byte()
- Dim Rndm As New RNGCryptoServiceProvider
- Dim Salt(8) As Byte
- Rndm.GetBytes(Salt)
- Return Salt
- End Function
- Public Enum Algorithm
- SHA1 = 0
- SHA256 = 1
- SHA384 = 2
- SHA512 = 3
- MD5 = 4
- RIPEMD160 = 5
- HMACMD5 = 6
- HMACRIPEMD160 = 7
- HMACSHA1 = 8
- HMACSHA256 = 9
- HMACSHA384 = 10
- HMACSHA512 = 11
- End Enum
- Public Shared Function ComputeHash(ByVal input() As Byte, ByVal ParamArray hashes() As Algorithm) As Byte()()
- Dim computedHashes()() As Byte = Nothing
- Dim i As Integer = 0
- For Each algo As Algorithm In hashes
- Select Case algo
- Case Algorithm.HMACMD5
- Dim hashtype As HMAC = HMACMD5.Create
- Dim hash As Byte() = hashtype.ComputeHash(input)
- computedHashes(i) = hash
- Case Algorithm.HMACRIPEMD160
- Dim hashtype As HMAC = HMACRIPEMD160.Create
- Dim hash As Byte() = hashtype.ComputeHash(input)
- computedHashes(i) = hash
- Case Algorithm.HMACSHA1
- Dim hashtype As HMAC = HMACSHA1.Create
- Dim hash As Byte() = hashtype.ComputeHash(input)
- computedHashes(i) = hash
- Case Algorithm.HMACSHA256
- Dim hashtype As HMAC = HMACSHA256.Create
- Dim hash As Byte() = hashtype.ComputeHash(input)
- computedHashes(i) = hash
- Case Algorithm.HMACSHA384
- Dim hashtype As HMAC = HMACSHA384.Create
- Dim hash As Byte() = hashtype.ComputeHash(input)
- computedHashes(i) = hash
- Case Algorithm.HMACSHA512
- Dim hashtype As HMAC = HMACSHA512.Create
- Dim hash As Byte() = hashtype.ComputeHash(input)
- computedHashes(i) = hash
- Case Algorithm.MD5
- Dim hashtype As MD5 = MD5Cng.Create
- Dim hash As Byte() = hashtype.ComputeHash(input)
- computedHashes(i) = hash
- Case Algorithm.RIPEMD160
- Dim hashtype As RIPEMD160 = RIPEMD160.Create
- Dim hash As Byte() = hashtype.ComputeHash(input)
- computedHashes(i) = hash
- Case Algorithm.SHA1
- Dim hashtype As SHA1 = SHA1Cng.Create
- Dim hash As Byte() = hashtype.ComputeHash(input)
- computedHashes(i) = hash
- Case Algorithm.SHA256
- Dim hashtype As SHA256 = SHA256Cng.Create
- Dim hash As Byte() = hashtype.ComputeHash(input)
- computedHashes(i) = hash
- Case Algorithm.SHA384
- Dim hashtype As SHA384 = SHA384Cng.Create
- Dim hash As Byte() = hashtype.ComputeHash(input)
- computedHashes(i) = hash
- Case Algorithm.SHA512
- Dim hashtype As SHA512 = SHA512Cng.Create
- Dim hash As Byte() = hashtype.ComputeHash(input)
- computedHashes(i) = hash
- End Select
- i += 1
- Next
- Return computedHashes
- End Function
- End Class
Ich möchte keine Kommentare hören, dass diese Klasse sinnlos sei, denn ich habe sie hier veröffentlicht, für diejenigen, die sie gebrauchen können.
MfG
Jonas Jelonek
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Jonas Jelonek“ ()