Java I RSA-kakmak, ancak PHP şifresini miyim?

4 Cevap java

Ben J2ME veya J2SE RSA-şifrelemek ve çözmek PHP miyim?

Ben RSA bir özelliğidir, ve dilleri ile ilgisi yoktur varsayalım.

4 Cevap

bir kelime, evet.

içine çalışabilir tek sorun karakter kodlaması veya line-sonları, ancak şansını iyi olacak vardır.

RSA bir algoritma; Eğer birbirleri için gereken başka bir şey ileti biçiminde bir özelliğidir. RFC 3447, olası bir ileti biçimi tanımlar, diğerleri örneğin RFC 3110 anahtar formatını DNS vardır. De bir ileti biçimi almak, ve hiç bir sorun olmamalıdır.

Eğer bir anahtar daha büyük bir şey şifreleyerek varsa, bir simetrik şifreleme sonra RSA kullanarak simetrik anahtar şifreleme ile verilerin şifrelenmesi düşünebilirsiniz. (S / MIME vb kullanılır) bu iş için standart bir mekanizma CMS (PKCS IETF güncelleme # 7) olduğunu. PHP CMS / PKCS # 7 için orada ne destek emin değilim ama java tarafta mükemmel bouncy castle crypto library kullanabilirsiniz. Tüm veri yapıları ASN.1 tanımlandığı gibi hiçbir çalışabilirlik sorunları olacaktır. Bu ayrıntıları kripto kütüphanesi tarafından sizin için uzak soyutlanmış gibi biraz karmaşık geliyor merak etmeyin.

Evet. Bunu yapmak. Java'da, herhangi JCE yapmalıdır. PHP, OpenSSL uzantısı kullanın lütfen.

11 bayt - Diğerleri de belirtildiği gibi, sadece Key_Length kadar şifreleyebilirsiniz. Örneğin, 1024-bit anahtar için, sadece 117 byte şifreleyebilirsiniz. Veri olduğunu aşabilir ederse, OpenSSL uzantısı tarafından desteklenen PKCS # 7 kullanın.