2012-12-22 37 views
7

Tôi đã làm việc với mật mã Java trong nhiều năm. Bây giờ, chúng ta có yêu cầu viết một ứng dụng iOS sẽ gửi các tải trọng được mã hóa từ thiết bị di động đến một dịch vụ Java. Tôi đã bắt đầu làm việc với bộ phận hỗ trợ mã hóa iOS (CommonCrypto, v.v.) và thấy nó khó hơn một chút. JCE có API rất súc tích, rất rõ ràng, vì vậy tôi rõ ràng đã bị hư hỏng. Ngược lại, mật mã iOS là một API khó khăn hơn rất nhiều để làm việc.Thư viện Crypto đơn giản cho iOS

Có bất kỳ thư viện mã hóa đơn giản nào hoặc trình bao bọc xung quanh CommonCrypto cung cấp API súc tích hơn không? Đặc biệt, chúng ta cần:

  • hệ chính (cả đối xứng và bất đối xứng)
  • Encryption/giải mã dữ liệu
  • chữ ký kỹ thuật số (SHA1withRSA, ví dụ)
  • Băm
  • RSA, 3DES, và AES hỗ trợ

Tôi biết tôi đã thấy một hoặc hai mẫu mẫu bao bọc mã hóa AES chẳng hạn. Tôi đang tìm kiếm thứ gì đó phong phú hơn và đầy đủ hơn. Bất cứ ai có bất cứ đề nghị?

Trả lời

2

Bạn có thể sử dụng openSSL bên trong ứng dụng iOS, để dễ sử dụng, bạn có thể sử dụng SSCrypto library bởi septicus.

Từ trang web septicus:

SSCrypto.framework cung cấp một wrapper đơn giản xung quanh OpenSSL thư viện chức năng để mã hóa, giải mã (cả đối xứng và RSA) và checksums. Nó cũng mã hóa và giải mã dữ liệu base64 và có thể tạo ra cả khóa RSA riêng tư và công cộng. Một công cụ kiểm tra được bao gồm trong dự án . Nhấp vào đây để xem tệp main.m đi kèm với SSCrypto để biết ví dụ về việc sử dụng.

+0

SSCrypto có xây dựng cho iOS không? Tôi đã tải xuống dự án và xem xét nó. Nó chắc chắn có vẻ như những gì tôi cần, nhưng chỉ có xây dựng cấu hình cho máy Mac. Không có thiết bị iOS. – Shadowman

+0

Chúng tôi vừa thêm tệp .h và .m vào dự án của chúng tôi, bản dựng iOS của dự án của chúng tôi đã làm phần còn lại ... – Frank

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