Tôi là người mới sử dụng mã hóa cố gắng chuyển một số giá trị qua lại giữa các hệ thống. Tôi có thể mã hóa giá trị, nhưng dường như không thể tìm ra cách giải mã ở đầu bên kia. Tôi đã tạo một ứng dụng Windows Forms đơn giản bằng cách sử dụng VB.NET. Đang cố gắng nhập giá trị và khóa, mã hóa rồi giải mã để nhận giá trị ban đầu. Đây là mã của tôi cho đến nay. Bất kỳ trợ giúp đánh giá rất nhiều. Cảm ơn.Làm thế nào để giải mã một chuỗi được mã hóa bằng HMACSHA1?
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
Cảm ơn thông tin, Jon. –
Sha-1 là một băm một chiều. HMAC-SHA1 là mã xác thực thư. Đó rõ ràng là không giống nhau. Nó thực sự sẽ giúp chính xác hơn một chút. – Accipitridae
* đó là một chủ đề phức tạp * - Đối với bản ghi, có mã và mã giả để triển khai hmac_hash [trên wikipedia] (http://en.wikipedia.org/wiki/Hash-based_message_authentication_code). – automaton