Bonjour,

Je souhaite utiliser du chiffrement asymétrique sur du texte dans une application android et que les données une fois chiffrées puissent être déchiffrées par un script php.

Voilà le code php que j'aimerais transcoder en Java
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
 
<?php
class Crypt
{
	private $privKey=null;
	private $pubKey=null;
 
	public function __construct()
	{
		$res = openssl_pkey_new(
	        	array(
	        	    "digest_alg" => "sha512",
	        	    "private_key_bits" => 4096,
	        	    "private_key_type" => OPENSSL_KEYTYPE_RSA,
	        	)
		);
		openssl_pkey_export($res, $privKey);
		$this->privKey=$privKey;
		$this->pubKey = openssl_pkey_get_details($res)["key"];
 
		var_dump($this->privKey);
		var_dump($this->pubKey);
	}
 
	public function crypt($data)
	{
		openssl_public_encrypt($data, $encrypted, $this->pubKey);
		return base64_encode($encrypted);
	}
	public function decrypt($data)
	{
		openssl_private_decrypt(base64_decode($data), $decrypted, $this->privKey);
		return $decrypted;
	}
 
}
$crypt=new Crypt();
 
$a = 'This is a test';
var_dump($a);
 
$b=$crypt->crypt($a);
var_dump($b);
 
$c=$crypt->decrypt($b);
var_dump($c);
(bien sûr les clés seront pas générés à chaque fois, c'était pour l'exemple )
En soi, rien de très sorcier, mais j'ai du mal en java et android (je débute) j'ai regarder la documentation et google, mais c'est assez vide d'exemple et j'avoue que je suis perdu....

Quelqu'un pour me filer un coup de main ?
Merci d'avance !