2017-06-08 3 views
1

Ich bin ein PHP-Entwickler (kein Android-Entwickler). Ich habe die Entwicklung einer Android-App ausgelagert, und für die Kommunikation zwischen der App und meinem PHP-Server habe ich eine asymmetrische Verschlüsselung (Public-Private-Key-Verschlüsselung) vor.Was ist Android-Äquivalent von openssl_public_encrypt in PHP?

Auf PHP-Ebene kenne ich openssl_public_encrypt und openssl_private_decrypt. Ich habe dem Android-Entwickler gesagt, dass er OpenSSL Public Encryption und RSA-Verschlüsselung verwenden soll, um In-App zu verwenden, aber es funktioniert nicht.

Ich habe versucht zu suchen, konnte aber keine fruchtbaren Ergebnisse finden.

Kann mir jemand dabei helfen, damit ich meinem Entwickler sagen kann, eine bestimmte Methode oder etwas zu verwenden?

+0

OpenSSL eine Implementierung von SSL ist. Sie müssen nicht die gleiche Bibliothek an jedem Ende verwenden. Stellen Sie nur sicher, dass Sie dieselben Algorithmen verwenden. Ohne etwas Spezifisches zu sehen, ist es schwer zu erraten, was falsch sein könnte. – Halcyon

+0

Korrigieren Sie mich, wenn ich falsch liege, dass RSA in openssl_public_encrypt verwendet wird, und ich kann einfach mit der öffentlichen Schlüssel und RSA-Algorithmus App-Seite verschlüsseln? – kadamb

Antwort

0

Ich fand die Antwort. openssl_public_encrypt verwendet RSA-Algorithmus und gleiche kann in folgenden Weise in Android verwendet werden:

Cipher cipher = Cipher.getInstance(RSA); 
cipher.init(Cipher.ENCRYPT_MODE, publicKey); 

Was ich falsch mache Verschlüsselung wurde mit Standardmodus auf beiden Seiten, PHP sowie Android, was falsch war, als sie unterschieden.

Für weitere Informationen lesen: https://stackoverflow.com/a/17820910/3333052