2013-01-22 26 views
7

Tôi muốn phát triển một ứng dụng Android để mã hóa và giải mã các tệp lớn (~ 500Mb) với RSA và một số thuật toán mã hóa đối xứng. Làm thế nào tôi có thể đạt được điều này? Giải pháp tốt nhất để sử dụng trên thiết bị chỉ với vài MB RAM là gì?Thực hành tốt nhất cho việc giải mã các tập tin lớn với ít bộ nhớ

Trân Bobby

+0

rất muốn nghe câu trả lời về điều này :) –

Trả lời

6

CipherInputStreamCipherOutputStream phép bạn sử dụng con suối để mã hóa/giải mã. Điều này sẽ cho phép bạn xử lý các kích thước tệp lớn mà không có quá nhiều vấn đề với bộ nhớ. Có vẻ như bạn đã đi xuống right path với sự kết hợp của các thuật toán đối xứng và không đối xứng khi chỉ riêng RSA sẽ không xử lý một khối dữ liệu lớn.

0

Có thể bạn muốn xem xét việc chia nhỏ tệp thành các phần dữ liệu nhỏ hơn và mã hóa dữ liệu đó cho phù hợp.

Xem: encrypting and/or decrypting large files (AES) on a memory and storage constrained system, with "catastrophe recovery"

Tôi không chắc chắn về yêu cầu của bạn, nhưng một cách khác, là không mã hóa trên thiết bị! Chỉ cần lưu trữ các phím trên thiết bị và chương trình phụ trợ của bạn thực hiện công việc nặng nhọc nhưng cần phải lấy khóa từ thiết bị để giải mã, đây là nơi ứng dụng Android của bạn sẽ xử lý phần gửi.

Các vấn đề liên quan