Hướng Dẫn Mã Hóa Và Giải Mã Sử Dụng Thuật Toán ...
Có thể bạn quan tâm
Bài viết hôm nay, mình xin hướng dẫn các bạn cách mã hóa và giải mã sử dụng thuật toán AES.
Vậy thuật toán AES là gì?
Thuật toán được đặt tên là "Rijndael" khi tham gia cuộc thi thiết kế AES. Rijndael được phát âm là "Rhine dahl" theo phiên âm quốc tế. Thuật toán được thiết kế bởi hai nhà mật mã học người Bỉ: Joan Daemen và Vincent Rijmen.
Giống như tiêu chuẩn tiền nhiệm DES, AES được kỳ vọng áp dụng trên phạm vi thế giới và đã được nghiên cứu rất kỹ lưỡng. AES được chấp thuận làm tiêu chuẩn liên bang bởi Viện tiêu chuẩn và công nghệ quốc gia Hoa kỳ (NIST) sau một quá trình tiêu chuẩn hóa kéo dài 5 năm. AES (viết tắt của từ tiếng Anh: Advanced Encryption Standard, hay Tiêu chuẩn mã hóa tiên tiến) là một thuật toán mã hóa khối được chính phủ Hoa kỳ áp dụng làm tiêu chuẩn mã hóa.
Lưu ý: thuật toán mã hóa hóa AES là thuật toán 2 chiều (có thể dịch ngược).
Ở bài viết này, mình sử dụng thuật toán này để mã hóa hóa file.
Demo ứng dụng:
Source code chương trình:
Viết hàm mã hóa Encrypt AES
Public Function AES_Encrypt(ByVal input As String, ByVal pass As String) As String Dim AES As New System.Security.Cryptography.RijndaelManaged Dim Hash_AES As New System.Security.Cryptography.MD5CryptoServiceProvider Dim encrypted As String = "" Try Dim hash(31) As Byte Dim temp As Byte() = Hash_AES.ComputeHash(System.Text.ASCIIEncoding.ASCII.GetBytes(pass)) Array.Copy(temp, 0, hash, 0, 16) Array.Copy(temp, 0, hash, 15, 16) AES.Key = hash AES.Mode = Security.Cryptography.CipherMode.ECB Dim DESEncrypter As System.Security.Cryptography.ICryptoTransform = AES.CreateEncryptor Dim Buffer As Byte() = System.Text.ASCIIEncoding.UTF8.GetBytes(input) encrypted = Convert.ToBase64String(DESEncrypter.TransformFinalBlock(Buffer, 0, Buffer.Length)) Return encrypted Catch ex As Exception End Try End Function- Tiếp tục, viết hàm giải mã
Public Function AES_Decrypt(ByVal input As String, ByVal pass As String) As String Dim AES As New System.Security.Cryptography.RijndaelManaged Dim Hash_AES As New System.Security.Cryptography.MD5CryptoServiceProvider Dim decrypted As String = "" Try Dim hash(31) As Byte Dim temp As Byte() = Hash_AES.ComputeHash(System.Text.ASCIIEncoding.ASCII.GetBytes(pass)) Array.Copy(temp, 0, hash, 0, 16) Array.Copy(temp, 0, hash, 15, 16) AES.Key = hash AES.Mode = Security.Cryptography.CipherMode.ECB Dim DESDecrypter As System.Security.Cryptography.ICryptoTransform = AES.CreateDecryptor Dim Buffer As Byte() = Convert.FromBase64String(input) decrypted = System.Text.ASCIIEncoding.UTF8.GetString(DESDecrypter.TransformFinalBlock(Buffer, 0, Buffer.Length)) Return decrypted Catch ex As Exception End Try End Function- Viết sự kiện cho button mã hóa
Private Sub btnEncrypt_Click(sender As Object, e As EventArgs) Handles btnEncrypt.Click txtEncrypt.Text = AES_Encrypt(txtinput.Text, txtKey.Text) End Sub- Tiếp tục, viết sự kiện cho button giải mã
Private Sub btnDecrypt_Click(sender As Object, e As EventArgs) Handles btnDecrypt.Click txtDecrypt.Text = AES_Decrypt(txtEncrypt.Text, txtKey.Text) End SubCHÚC CÁC BẠN THÀNH CÔNG
DOWNLOAD SOURCE
Tags: thuật toán mã hóamã hóagiải mãaesTừ khóa » Giải Mã Thuật Toán Aes
-
Tìm Hiểu Thuật Toán Mã Hóa Khóa đối Xứng AES - Viblo
-
Cấu Trúc Và Thuật Toán Advanced Encryption Standard (Chuẩn Mã ...
-
Tiêu Chuẩn Mã Hóa Dữ Liệu AES Là Gì Và Các Chế độ Hoạt động Của ...
-
AES Là Gì? Có Gì đặc Biệt? Tiêu Chuẩn Mã Hóa Này được ứng Dụng ...
-
Thuật Toán Mã Hóa Khối(block Cipher)- AES - W3seo
-
Mã Hóa AES Là Gì, Ví Dụ Về Cách Thức Hoạt động Của Tiêu Chuẩn Mã ...
-
[AES] Bài 2 - Lý Thuyết Về Giải Mã AES-128 - VLSI TECHNOLOGY
-
[AES] Bài 1 - Lý Thuyết Về Mã Hóa AES-128 - VLSI TECHNOLOGY
-
Thực Hành Mã Hóa Và Giải Mã Thuật Toán Simplified AES - 2KVN
-
Lập Trình Giải Mã AES - YouTube
-
Cách Mã Hóa Và Giải Mã Văn Bản Với AES Miễn Phí Và Không Cần Cài ...
-
Hướng Dẫn Mã Hóa Và Giải Mã Sử Dụng Thuật ... - Lập Trình VB.NET
-
Advanced Encryption Standard – Wikipedia Tiếng Việt
-
Tìm Hiểu Về AES (Advanced Encryption Standard)