[CSharp] Bảo vệ Database SQLite bằng mật khẩu

Bảo vệ Database SQLite bằng mật khẩu

Khi thiết kế ứng dụng, để lưu trữ một số dữ liệu nhỏ thì người ta hay dùng XML, JSON hoặc SQLite. Các phương pháp lưu trữ này có ưu điểm là có tính di động (portable) cao, không yêu cầu máy tính phải cài thêm Hệ quản trị cơ sở dữ liệu nào khác. Lưu trữ ở dạng này thì thường là dữ liệu thô ở dạng plain-text, không được mã hóa.

Vì vậy để bảo vệ dữ liệu lưu trong các định dạng này thì người ta hay sử dụng một hay kết hợp nhiều kỹ thuật mã hóa để tránh dữ liệu bị nhòm ngó, có thể kể đến là đặt mật khẩu kết nối đến DB SQLite, mã hóa AES… Bài viết này sẽ nói về SQLite ver 3 do từ phiên bản này SQLite mới hỗ trợ mật khẩu.

Một số phương pháp mã hóa DB SQLite

  • Trước hết là note lại một số gợi ý về một số phương pháp kết hợp mã hóa database SQLite:
  • SEE – Mất phí
  • wxSQLite
  • SQLCipher – Mã nguồn mở, sử dụng openSSL để mã hóa dữ liệu.
  • SQLiteCrypt – Mất phí
  • botansqlite3 – Miễn phí, mã hóa SQLite3 bằng thuật toán Botan.
  • SQLiteCrypto – Mất phí, SQLiteCrypto mã hóa DB bằng AES-256 và SHA-256

Bảo vệ DB bằng mật khẩu

Bây giờ là cách bảo vệ DB SQLite bằng mật khẩu, lúc này dữ liệu sẽ được mã hóa theo thuật toán RSA. Cách này đơn giản nhất, nhưng nếu một ai đó cố dịch lại chương trình của bạn thì có thể tìm thấy password. Ít nhất thì chúng ta vẫn có thể tự bảo vệ trước một số thanh niên manh động, còn đối với cao thủ thì… mấy chương trình cả đống tiền còn bị crack cơ mà. Lo lắng mà làm gì! :)

Cài đặt mật khẩu cho DB

Sau khi cài đặt rồi thì đã đến lúc sử dụng

Có thể thêm phần password vào chuỗi connection string

Thay đổi mật khẩu

Xóa bỏ mật khẩu

Lưu ý: Khi bạn thêm mật khẩu vào DB rồi thì sẽ khó có thể đọc được trên một số phần mềm quản lý DB SQLite.

Leave a Reply

2 Comments on "[CSharp] Bảo vệ Database SQLite bằng mật khẩu"

Notify of
avatar
Sort by:   newest | oldest | most voted
Đức
Guest

Sao mình tạo pass mà ko được nhỉ

wpDiscuz