note 47189 added to ref.mcrypt

From: Date: Fri, 05 Nov 2004 16:37:22 +0000
Subject: note 47189 added to ref.mcrypt
Groups: php.notes 
Request: Send a blank email to php-notes+get-80152@lists.php.net to get a copy of this message
Just a note about mcrypt<-->java interop (have a php app encrypting a string and a java app decrypting it) php mcrypt pads the plaintext with spaces until the plaintext is a multiple of the block size (e.g 16 for most symmetric ciphers). These spaces have to be stripped on when decrypting on the java side. Seems to be no other way of using a sensible padding (e.g. with PKCS #5) on the mcrypt side. The following php and java will interop $cipher = "rijndael-128"; $mode = "cbc"; echo "CIPHER: $cipher | MODE: $mode\n"; // data,key, iv $data = "blah"; $key = "01234567890abcdef"; $iv = "fedcba9876543210"; // set up and encyrpt $td = mcrypt_module_open($cipher, "", $mode, $iv); mcrypt_generic_init($td, $key, $iv); $encrypted_data = mcrypt_generic($td, $data); echo bin2hex($encrypted_data); // tear down mcrypt_generic_deinit($td); mcrypt_module_close($td); Java side Cipher cipher = Cipher.getInstance("AES/CBC/NoPadding"); SecretKeySpec keySpec = new SecretKeySpec("01234567890abcdef".getBytes(), "AES"); IvParameterSpec ivSpec = new IvParameterSpec("fedcba9876543210".getBytes()); cipher.init(Cipher.DECRYPT_MODE, keySpec, ivSpec); byte[] outText = cipher.doFinal(fromHexString(input)); System.out.println(new String(outText).trim()); ---- Manual Page -- http://www.php.net/manual/en/ref.mcrypt.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+47189 Delete -- http://master.php.net/manage/user-notes.php?action=delete+47189&report=yes Reason: bad code -- http://master.php.net/manage/user-notes.php?action=delete+47189&report=yes&reason=bad+code Reason: spam -- http://master.php.net/manage/user-notes.php?action=delete+47189&report=yes&reason=spam Reason: useless example -- http://master.php.net/manage/user-notes.php?action=delete+47189&report=yes&reason=useless+example Reason: contains commercial links -- http://master.php.net/manage/user-notes.php?action=delete+47189&report=yes&reason=contains+commercial+links Reason: useless note -- http://master.php.net/manage/user-notes.php?action=delete+47189&report=yes&reason=useless+note Reject -- http://master.php.net/manage/user-notes.php?action=reject+47189&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#80152) next »