Tôi đang viết một trò chơi sẽ có rất nhiều thông tin (cấu hình, một số nội dung, vv) bên trong một số tài liệu xml, cũng như các tệp tài nguyên. Điều này sẽ làm cho nó dễ dàng hơn cho chính tôi và những người khác để chỉnh sửa chương trình mà không cần phải chỉnh sửa các tập tin C++ thực tế, và mà không cần phải biên dịch lại.Phương pháp mã hóa một kho lưu trữ trong C++
Tuy nhiên, khi chương trình bắt đầu phát triển, có sự gia tăng các tệp trong cùng thư mục với chương trình. Vì vậy, tôi nghĩ đến việc đưa chúng vào trong một kho lưu trữ tập tin (vì chúng hầu hết là văn bản, nó rất tuyệt vời với nén).
Câu hỏi của tôi là thế này: Nó sẽ được dễ dàng hơn để nén tất cả các file và:
- Thiết lập một mật khẩu để nó (giống như một mật khẩu bảo vệ bưu điện), sau đó cung cấp mật khẩu khi chương trình cần nó
- mã hóa các kho lưu trữ với Crypto ++ hoặc tương tự
- sửa đổi phần đầu tập tin một chút như một mã hóa "tạm", và sửa tiêu đề của tập tin trong khi các tập tin được nạp
tôi nghĩ số 1 và 2 tương tự, nhưng tôi không thể tìm thấy bất kỳ thông tin nào về việc liệu zlib có thể xử lý lưu trữ được bảo vệ bằng mật khẩu hay không.
Cũng lưu ý rằng tôi không muốn các tệp bên trong tệp nén được "trích xuất" vào thư mục trong khi chương trình đang sử dụng nó. Nó chỉ nên ở trong bộ nhớ của hệ thống.
Tại sao bạn cần mã hóa công cụ này? –
Nó cần phải được mã hóa bởi vì tôi không muốn bất kỳ ai chỉnh sửa hoặc đảo ngược kỹ thuật đó. –
Nếu dữ liệu và mã thực thi nằm trên máy của người dùng thì mã hóa của bạn sẽ không ngăn được một hacker xác định. – Blastfurnace