Mã hóa dữ liệu và giải mã dữ liệu
1) Mã hóa dữ liệu (encode) là gì?
Là chuyển hóa dữ liệu này thành 1 dạng dữ liệu mới mà người dùng không thể đọc được hoặc hiểu được nó. Bằng cách sử dụng các thuật toán lồng vào nhau, thương dựa trên 1 khóa (key) để mã hóa dữ liệu.
2) Giải mã dữ liệu (decode) mã hóa là gì?
Là khôi phục một dữ liệu đã bị mã hóa trở về dữ liệu kiểu ban đầu của nó dựa vào khóa (key) đã thiết lập. Nếu không có key này, người khác không thể giải mã được nó!
3) Ví dụ về việc mã hóa và giải mã 1 chuỗi ký tự
http://android.vn/threads/25398/
Tiếp theo là lưu trữ 1 mảng dữ liệu byte vào database
là mảng này là mảng dữ liệu đã mã hóa
------------------------------
1) Mô tả thủ thuật:
- Dữ liệu là một thông tin tuyệt mật không thể để cho người dùng biết.
- Mã hóa dữ liệu này với một khóa mà chỉ mình biết.
- Lưu trữ dữ liệu đã được mã hóa này vào database.
- Khi muốn sử dụng dữ liệu, lấy dữ liệu đã mã hóa ra từ database
- Thực hiện giải mã với khóa lúc mã hóa
- Và làm gì đó với dữ liệu
2) Lợi ích của thủ thuật này:
- Khi ứng dụng bản bạn bị bẻ khóa, nhất là trên android, các hacker sẽ dễ dàng có được database của bạn. Tuy nhiên đọc được dữ liệu đã mã hóa là một vấn đề. Nó sẽ làm cho bác hacker nãn và bỏ cuộc .
- Dữ liệu được mã hóa lưu vào data dưới dạng mảng byte nhị phân nên dữ liệu rất an toàn
- Việc giải mã là hoàn toàn ok nếu như bạn nhập đúng khóa lúc mã hóa, còn nếu sai thì cũng chả ra cái gì cả ^^!
3) Hướng dẫn code demo tại đây
http://android.vn/threads/25400/
Không có nhận xét nào:
Đăng nhận xét