php的base64加密,怎么调整才能和java的base64的加密结果一致呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php的base64加密,怎么调整才能和java的base64的加密结果一致呢?相关的知识,希望对你有一定的参考价值。

情况是这样的。我这边是用php开发,对方用java,我这边加密后的密文和他们的不一致。现在就是想我这边作出修改让密文一致,对方不用变动。

phpbase64以后每76个字符加一个换行,
function javaBase64Encode($str)

$str = base64_encode($str);
$strLength = strlen($str);
$n = intval($strLength / 76);
if ($n <= 0)
return $str;

for ($i = 1; $i <= $n; $i++)
$position = 76 * $i + ($i - 1);
$str = substr_replace($str, PHP_EOL, $position, 0);

return $str;



function javaBase64Decode($str)

$strLength = strlen($str);
$n = intval($strLength / 76);
if ($n <= 0)
return $str;

for ($i = $n; $i >= 1; $i--)
$position = 76 * $i + ($i - 1);
$str = substr_replace($str, "", $position, 1);

return base64_decode($str);

或者使用chunk_split 函数也可以,默认就是76,而且不是所有的java代码都需要这样转,要看java调用的是什么类库,有一些是不用的
参考技术A 您好,我也遇到了同样的问题,还请大神指教 参考技术B 看这个
http://blog.csdn.net/liuj2511981/article/details/8591273追问

不是要java的。我这边是用php开发,对方用java,我这边加密的结果不一致。现在就是想我这边作出修改让结果一致,对方不用变动。

参考技术C 你好,请问题解决了吗?我现在遇到了相同的问题

以上是关于php的base64加密,怎么调整才能和java的base64的加密结果一致呢?的主要内容,如果未能解决你的问题,请参考以下文章

java 怎么实现PHP的base64加密,两种语言的base64加密后的数据不一致

JAVA如何解密用PHP加密的base64编码和RIJNDAEL 256的数据?

JAVA怎么样实现Base64加密解密?

为啥我用Base64加密后,不能将它解密?

php base64加密解密

PHP的aes加解密算法