Tình huốngMã hóa RSA trong Java: Các vấn đề nền tảng chéo?
Tôi đang làm việc với mã hóa RSA trong Java. Tôi đang cố gắng mã hóa dữ liệu trên điện thoại của nhà phát triển HTC Saphire (32B) được trang bị Android 2.2 của CyanogenMod và sau đó giải mã dữ liệu trên máy chủ 64 bit chạy Mandriva Linux 2010. Tôi đang sử dụng cùng một khóa công khai, cặp khóa riêng trên cả hai máy , có thể mã hóa/giải mã một cách chính xác dữ liệu trên điện thoại Android, có thể mã hóa/giải mã dữ liệu một cách chính xác trên máy chủ Linux, nhưng tôi không thể mã hóa dữ liệu trên điện thoại và sau đó giải mã dữ liệu trên máy chủ. Tôi nhận được ngoại lệ đệm xấu. Tôi đã xác nhận rằng dữ liệu đang được gửi chính xác bằng điện thoại và đang được máy chủ phân tích cú pháp chính xác. Như vậy, tôi không thể hiểu tại sao giải mã không thành công. Bất cứ ai có thể giúp tôi với điều này? Có lẽ thuật toán RSA trong Java có một số giả định cơ bản về kích thước từ?
Thông tin thêm:
- mã hóa Thư viện của tôi/giải mã dựa trên hướng dẫn tìm thấy here.
- khóa mã hóa của tôi là 2048 bit chiều dài, nhưng tôi thấy hành vi tương tự với kích thước phím khác nhau.
- Tôi đã đóng gói mã hóa/giải mã RSA của tôi vào một tệp jar. Nó được biên dịch qua Eclipse trên máy của máy chủ.
- Chương trình sử dụng thư viện mã hóa trên điện thoại Android sử dụng thư viện ở trên. Nó cũng được xây dựng bằng cách sử dụng Eclipse.
- Chương trình máy chủ được xây dựng bằng cách sử dụng Netbeans (vì lúc đó dễ dàng hơn).
Câu hỏi khác
- Có miễn phí thuật toán mã hóa khóa công khai/thư viện khác có sẵn cho Java? Họ có làm việc trên nhiều nền tảng không? Hiệu suất mong đợi từ họ là gì? Vv, v.v. Tôi đã xem xét điều này và không tìm thấy nhiều; có lẽ tôi đang tìm kiếm với các từ khóa sai.
Phew! Tôi nghĩ vậy. Cảm ơn vì sự giúp đỡ của bạn trước đó!
bất kỳ thuật toán nào phải hoạt động trên nền tảng, vấn đề ở trong mã của bạn (hoặc cấu hình) rất có thể là – bestsss
Config, eh? Cấu hình RSA là gì? Làm thế nào tôi sẽ làm điều này trong Java? Bạn có thể cung cấp liên kết đến hướng dẫn không? Tôi không muốn mất thời gian của bạn, nhưng có một chuyên gia (hoặc cá nhân có kinh nghiệm) như bạn chỉ cho tôi đi đúng hướng sẽ thực sự làm cho cuộc sống của tôi dễ dàng hơn. –
(sry chạy đi cho bữa ăn tối) Tôi có nghĩa là cấu hình như khóa công khai/tư nhân, padding xấu chủ yếu là do cặp khóa trao đổi nặng. Nếu bạn chắc chắn và vì lý do nào đó android không hỗ trợ cùng một padding như impl của mặt trời. bạn có thể thử http://www.bouncycastle.org/ btw, làm cách nào để mã hóa/giải mã dữ liệu trên cùng một thiết bị/máy? – bestsss