java加密 php解密,PHP中的简单字符串加密和Java中的解密?

使用mcrypt PHP模块进行加密

使用javax.crypto Java包进行解密

PHP中的加密:

function encrypt($message, $initialVector, $secretKey) {

return base64_encode(

mcrypt_encrypt(

MCRYPT_RIJNDAEL_128,

md5($secretKey),

$message,

MCRYPT_MODE_CFB,

$initialVector

)

);

}

JAVA中的解密:

public static String md5(String input) throws NoSuchAlgorithmException {

MessageDigest md = MessageDigest.getInstance("MD5");

byte[] messageDigest = md.digest(input.getBytes());

BigInteger number = new BigInteger(1, messageDigest);

return number.toString(16);

}

public String decrypt(String encryptedData, String initialVectorString, String secretKey) {

String decryptedData = null;

try {

SecretKeySpec skeySpec = new SecretKeySpec(md5(secretKey).getBytes(), "AES");

IvParameterSpec initialVector = new IvParameterSpec(initialVectorString.getBytes());

Cipher cipher = Cipher.getInstance("AES/CFB8/NoPadding");

cipher.init(Cipher.DECRYPT_MODE, skeySpec, initialVector);

byte[] encryptedByteArray = (new org.apache.commons.codec.binary.Base64()).decode(encryptedData.getBytes());

byte[] decryptedByteArray = cipher.doFinal(encryptedByteArray);

decryptedData = new String(decryptedByteArray, "UTF8");

} catch (Exception e) {

LOGGER.debug("Problem decrypting the data", e);

}

return decryptedData;

}

资源:http://www.logikdev.com/2010/11/01/encrypt-with-php-decrypt-with-java/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值