- [C#] Ẩn ứng dụng winform từ Apps vào Background Process trên Task Manager
- [SQLSERVER] Xử lý ngoại lệ sử dụng TRY...CATCH và RAISEERROR
- [C#] Bắt sự kiện bàn phím chuột bên ngoài ứng dụng winform sử dụng thư viện MouseKeyHook
- [DEVEXPRESS] Đặt mật khẩu và bỏ mật khẩu tập tin file PDF
- [C#] Thêm ứng dụng vào Taskbar sử dụng SharpShell DeskBand
- [C#] Hướng dẫn thêm text vào hình ảnh icon winform
- [C#] Chia sẽ tổng hợp source code đồ án về Csharp
- [C#] Hướng dẫn viết ứng dụng quay màn hình video winform, Screen Recorder
- [C#] Hướng dẫn sử dụng thư viện Input Simulator để làm việc với Keyboard, Mouse Virtual
- [DEVEXPRESS] Hướng dẫn tích Filter Contain khi click chuột phải vào cell selection trên Gridview
- [C#] Tra cứu mã số thuế cá nhân bằng CMND hoặc CCCD
- [C#] Convert hình ảnh image thành Blurhash sử dụng trong loading image winform
- [POWERSHELL] Script sao lưu backup và nén database sqlserver
- [C#] Giới thiệu thư viện Autofac Dependency Injection
- [C#] Hướng dẫn tạo Windows Services đơn giản Winform
- [C#] Một click chuột điều khiển máy tính từ xa sử dụng Ultraviewer
- Hướng dẫn đóng gói phần mềm sử dụng Powershell biên dịch script thành file exe
- [C#] Hướng dẫn sử dụng Task Dialog trên NET 5
- [C#] Hướng dẫn xem lịch sử các trang web đã truy cập trên Chrome Browser
- [C#] Hướng dẫn lấy thông tin Your ID và Password của Ultraviewer 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