Ich bin ein Verschlüsselungsneuling, der versucht, einige Werte zwischen Systemen hin- und herzuübertragen. Ich kann den Wert verschlüsseln, aber ich kann nicht herausfinden, wie ich am anderen Ende entschlüsseln kann. Ich habe eine einfache Windows Forms-Anwendung mit VB.NET erstellt. Versuchen Sie, einen Wert und einen Schlüssel einzugeben, zu verschlüsseln und dann zu entschlüsseln, um den ursprünglichen Wert zu erhalten. Hier ist mein Code soweit. Jede Hilfe sehr geschätzt. Vielen Dank.Wie entschlüsselt man eine mit HMACSHA1 verschlüsselte Zeichenkette?
Imports System
Imports System.IO
Imports System.Security.Cryptography
Imports System.Text
Public Class Form1
Private Sub btnEncode_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEncode.Click
Dim hmacsha1 As New HMACSHA1(Encoding.ASCII.GetBytes(txtKey.Text))
Dim hashValue As Byte() = hmacsha1.ComputeHash(Encoding.ASCII.GetBytes(txtValue.Text))
txtResult.Text = BytesToHexString(hashValue)
hmacsha1.Clear()
End Sub
Private Sub btnDecode_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDecode.Click
'???
End Sub
Private Function BytesToHexString(ByVal bytes As Byte()) As String
Dim output As String = String.Empty
Dim i As Integer = 0
Do While i < bytes.Length
output += bytes(i).ToString("X2")
i += 1
Loop
Return output
End Function
End Class
Danke für die Info, Jon. –
Sha-1 ist ein Einweg-Hash. HMAC-SHA1 ist ein Nachrichtenauthentifizierungscode. Das sind eindeutig nicht die gleichen Dinge. Es würde wirklich helfen, ein wenig genauer zu sein. – Accipitridae
* es ist ein kompliziertes Thema * - Für die Aufzeichnung gibt es Code und Pseudo-Code für hmac_hash Implementierung [Wikipedia] (http://en.wikipedia.org/wiki/Hash-based_message_authentication_code). – automaton