I fixed the interesting lines, now it works like a charm on every input.
J2ME Code
Code:
private String key = "SADFo92jzVnzSj39IUYGvi6eL8v6RvJH8Cytuiouh547vCytdyUFl76R";
private String text = "Crypt this";
PaddedBufferedBlockCipher bfCipher;
private String encryptText(String key, String text) throws CryptoException {
byte[] keyBytes = Base64.decode(key.getBytes());
byte[] ptBytes = text.getBytes();
bfCipher = new PaddedBufferedBlockCipher (new CBCBlockCipher(new BlowfishEngine()), new ZeroBytePadding());
bfCipher.init(true, new KeyParameter(keyBytes));
byte[] result = new byte[bfCipher.getOutputSize(ptBytes.length)];
int len = bfCipher.processBytes(ptBytes, 0, ptBytes.length, result, 0);
bfCipher.doFinal(result, len);
return new String(Base64.encode(result));
}//encryptText
private String decryptText(String key, String cipherText) throws CryptoException {
byte[] keyBytes = Base64.decode(key.getBytes());
byte[] textBytes = Base64.decode(cipherText.getBytes());
bfCipher.init(false, new KeyParameter(keyBytes));
byte[] result = new byte[bfCipher.getOutputSize(textBytes.length)];
int len = bfCipher.processBytes(textBytes, 0, textBytes.length, result, 0);
bfCipher.doFinal(result, len);
return new String(result).trim();
}//decryptText
PHP CODE:
Code:
$key = "SADFo92jzVnzSj39IUYGvi6eL8v6RvJH8Cytuiouh547vCytdyUFl76R";
$B64key=base64_decode($key);
$B64data_string=base64_decode($data_string);
$decrypt = @mcrypt_decrypt(MCRYPT_BLOWFISH, $B64key , $B64data_string, MCRYPT_MODE_CBC);
echo " <br /> decrypted data = $decrypt ";
Hope it helped.