Như những người khác đã nói, có vô số cách để tuần tự hóa dữ liệu. Bạn có thể sử dụng một cái gì đó nhẹ như SQLite hoặc chỉ đơn giản hóa serialization. Chỉ cần nhận ra rằng bất kỳ nỗ lực nào bạn thực hiện để mã hóa dữ liệu có thể bị đánh bại, đặc biệt là trong trường hợp mã Java vì nó có thể dễ dàng đảo ngược. Tuy nhiên, nếu phần lớn người dùng của bạn không đủ kỹ thuật để hiểu sự phức tạp của kỹ thuật đảo ngược chương trình Java để tìm ra cách giải mã dữ liệu của bạn, bạn sẽ có thể loại bỏ một số phương pháp mã hóa cơ bản như được đề cập trong một câu trả lời khác và được tốt. Chỉ cần nhận ra rằng bất cứ lúc nào bất cứ điều gì cư trú trên một máy bạn không kiểm soát, không có cách nào để giữ cho người dùng kiên trì nhất từ tìm ra cách để crack nó.Cá nhân tôi sẽ đề xuất sử dụng sqlite và sử dụng mã hóa đơn giản trên dữ liệu bạn đưa vào các trường để nếu ai đó đủ thông minh để có thể kết nối với tệp DB cục bộ, họ vẫn phải đảo ngược thuật toán mã hóa của bạn trong một số cách thức. 99,9% người dùng thông thường sẽ không bận tâm với mức độ điều tra này.
Có tất nhiên không có gì ngăn cản anh ta từ serializing đến một dòng đó là đối tượng của nén và/hoặc mã hóa. Nó sẽ không bao giờ là không thể phá vỡ nhưng có thể là khá gần với không thể phá vỡ. Nếu nó là giá trị nó? Có lẽ không phải trong nhiều trường hợp. – Fredrik
No. Nếu ứng dụng mã hóa luồng đang chạy trên máy của người dùng cuối thì mọi loại mã hóa là một sự lãng phí tuyệt đối của thời gian, như tôi đã viết, rất dễ dàng để chạy nó trong chế độ gỡ lỗi và giật dữ liệu trước đó nó được mã hóa (ngoài thực tế là ứng dụng sẽ phải chứa khóa mã hóa). –