Código para encriptar un texto en lenguaje JAVA y desencriptarlo en PHP. Codificación AES.
El parámetro "key" es la llave para encriptar/desencriptar y debe ser la misma en ambos lados del código
Método de encriptación JAVA
Método de desencriptación PHP
Código original de stevenholder. Más información y código completo en (Github)stevenholder/PHP-Java-AES-Encrypt
El parámetro "key" es la llave para encriptar/desencriptar y debe ser la misma en ambos lados del código
Método de encriptación JAVA
public static String encrypt(String input, String key){ byte[] crypted = null; try{ SecretKeySpec skey = new SecretKeySpec(key.getBytes(), "AES"); Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); cipher.init(Cipher.ENCRYPT_MODE, skey); crypted = cipher.doFinal(input.getBytes()); }catch(Exception e){ System.out.println(e.toString()); } return new String(Base64.encodeBase64(crypted)); }
Método de desencriptación PHP
public static function decrypt($sStr, $sKey) { $decrypted= mcrypt_decrypt( MCRYPT_RIJNDAEL_128, $sKey, base64_decode($sStr), MCRYPT_MODE_ECB ); $dec_s = strlen($decrypted); $padding = ord($decrypted[$dec_s-1]); $decrypted = substr($decrypted, 0, -$padding); return $decrypted; }
Código original de stevenholder. Más información y código completo en (Github)stevenholder/PHP-Java-AES-Encrypt