- [C#] Cách Sử Dụng DeviceId trong C# Để Tạo Khóa Cho Ứng Dụng
- [SQLSERVER] Loại bỏ Restricted User trên database MSSQL
- [C#] Hướng dẫn tạo mã QRcode Style trên winform
- [C#] Hướng dẫn sử dụng temp mail service api trên winform
- [C#] Hướng dẫn tạo mã thanh toán VietQR Pay không sử dụng API trên winform
- [C#] Hướng Dẫn Tạo Windows Service Đơn Giản Bằng Topshelf
- [C#] Chia sẻ source code đọc dữ liệu từ Google Sheet trên winform
- [C#] Chia sẻ source code tạo mã QR MOMO đa năng Winform
- [C#] Chia sẻ source code phần mềm lên lịch tự động chạy ứng dụng Scheduler Task Winform
- [Phần mềm] Tải và cài đặt phần mềm Sublime Text 4180 full version
- [C#] Hướng dẫn download file từ Minio Server Winform
- [C#] Hướng dẫn đăng nhập zalo login sử dụng API v4 trên winform
- [SOFTWARE] Phần mềm gởi tin nhắn Zalo Marketing Pro giá rẻ mềm nhất thị trường
- [C#] Việt hóa Text Button trên MessageBox Dialog Winform
- [DEVEXPRESS] Chia sẻ code các tạo report in nhiều hóa đơn trên XtraReport C#
- [POWER AUTOMATE] Hướng dẫn gởi tin nhắn zalo từ file Excel - No code
- [C#] Chia sẻ code lock và unlock user trong domain Window
- [DEVEXPRESS] Vẽ Biểu Đồ Stock Chứng Khoán - Công Cụ Thiết Yếu Cho Nhà Đầu Tư trên Winform
- [C#] Hướng dẫn bảo mật ứng dụng 2FA (Multi-factor Authentication) trên Winform
- [C#] Hướng dẫn convert HTML code sang PDF File trên NetCore 7 Winform
[SQLSERVER] Mã hóa dữ liệu một chiều md5 và mã hóa đối xứng hai chiều trong Sqlserver
Mã hóa là một phương pháp quan trọng nhằm bảo mật dữ liệu. Nếu các bạn có những dữ liệu nhạy cảm như mật khẩu, tài khoản ngân hàng,.. thì trong cơ sở dữ liệu các bạn lưu xuống phải được mã hóa để bảo đảm an toàn dữ liệu trước nguy cơ hack như hiện nay.
MÃ HÓA MD5 VÀ MÃ HÓA ĐỐI XỨNG TRONG SQLSERVER
Nếu bạn là một lập trình viên, các bạn có thể mã hóa trong code trong ngôn ngữ lập trình.
Nhưng bài viết hôm nay, mình xin hướng dẫn các bạn cách mã hóa dữ liệu trực tiếp từ câu truy vấn T-Sql.
SQL Server cung cấp các kỹ thuật sau để mã hoá dữ liệu
-
Mã hoá bằng mật khẩu
-
Mã hoá khoá đối xứng
-
Mã hoá khoá không đối xứng
-
Mã hoá chứng nhận
1. Giới thiệu mã hóa 1 chiều MD5 Trong SQL SERVER:
Như các bạn đã biết, thuật toán mã hóa md5 là mã hóa một chiều, không có thể dịch ngược lại. Và bất kỳ ký tự mã hóa trong md5 cho kết quả tối đa không quá 32 ký tự.
Ví dụ: Bây giờ mình sẽ mã hóa chuỗi "http://laptrinhvb.net" bằng md5 bằng câu lệnh SQL như sau.
SELECT CONVERT(VARCHAR(32), HashBytes('MD5', 'http://laptrinhvb.net'), 2) as md5
kết quả trả về:
2. Giới thiệu hàm mã hóa đối xứng hai chiều trong SQL SERVER.
Mã hóa hai chiều, có nghĩa là khi các bạn mã hóa một chuỗi dữ liệu, các bạn sẽ tạo khóa cho nó.
Khi các các cần giải mã, các bạn chỉ cần nhập khóa vào là có thể giải mã được.
- Hàm mã hóa 2 chiều EncryptByPassPhrase
Bây giờ, mình ví dụ sẽ mã hóa chuỗi "laptrinhvb.net" với khóa là "123".
Vậy câu lệnh sql sẽ là:
select EncryptedData = EncryptByPassPhrase('123', 'laptrinhvb.net' )
Kết quả trả về:
Vậy là mình được kết quả của đoạn mã hóa trên là: 0x0100000075B24804C1A3BB07034DC0D08FDDED5BAD29FA31CD7027A174C28FC0BF4F28A0
- Hàm giải mã 2 chiều DecryptByPassPhrase trong SQL server.
Bây giờ mình sẽ giải mã đoạn chuỗi ví dụ vừa mã hóa ở trên.
select convert(varchar(100),DecryptByPassPhrase('123', 0x0100000075B24804C1A3BB07034DC0D08FDDED5BAD29FA31CD7027A174C28FC0BF4F28A0)) as giaima
Kết quả trả về:
3. Kết luận:
Mã hoá dữ liệu thực sự rất quan trọng. Thông qua bài này chúng tôi đã giới thiệu đến các bạn một trong 4 kỹ thuật mã hoá sẵn có trong SQL Server – kỹ thuật mã hoá bằng mật khẩu – và phương pháp giải mã nó.
HAVE FUN