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

PHP中的简单字符串加密和Java中的解密?,第1张

概述我需要将一些json数据从php服务器端点传输到我的Android客户端,但是如果端点暴露,我想保护数据的明显读取.因此,我计划在php端点中编写一些简单的字符串加密功能,并让我的客户端对其进行解密.有没有现成的图书馆可以这样做?解决方法:使用mcryptPHP模块进行加密使用javax.cryptoJa

我需要将一些Json数据从PHP服务器端点传输到我的Android客户端,但是如果端点暴露,我想保护数据的明显读取.因此,我计划在PHP端点中编写一些简单的字符串加密功能,并让我的客户端对其进行解密.有没有现成的图书馆可以这样做?

解决方法:

使用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/

总结

以上是内存溢出为你收集整理的PHP中的简单字符串加密和Java中的解密?全部内容,希望文章能够帮你解决PHP中的简单字符串加密和Java中的解密?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1076176.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-26
下一篇2022-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存