Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
试图用PHP复制javascript b64_md5函数,但结果不同_Javascript_Php_Base64_Md5 - Fatal编程技术网

试图用PHP复制javascript b64_md5函数,但结果不同

试图用PHP复制javascript b64_md5函数,但结果不同,javascript,php,base64,md5,Javascript,Php,Base64,Md5,为了安全起见,我正在尝试访问一个现有的web应用程序,该应用程序使用b64_md5 js函数在将密码发送到服务器之前对密码进行加密。我的脚本使用PHP和PHP Curl,但使用PHP和相同的输入似乎无法得到相同的结果 下面是使用以下脚本生成加密密码的JS: 该函数返回: HRQGHICMPFGHJ67BYXCJG== 我正在尝试使用PHP匹配该结果。这是我得到的,但它没有生成匹配的结果 <? $passwordMD5 = base64_encode(md5("Dn@v9Dr3H

为了安全起见,我正在尝试访问一个现有的web应用程序,该应用程序使用b64_md5 js函数在将密码发送到服务器之前对密码进行加密。我的脚本使用PHP和PHP Curl,但使用PHP和相同的输入似乎无法得到相同的结果

下面是使用以下脚本生成加密密码的JS:

该函数返回: HRQGHICMPFGHJ67BYXCJG==

我正在尝试使用PHP匹配该结果。这是我得到的,但它没有生成匹配的结果

<?
$passwordMD5 = base64_encode(md5("Dn@v9Dr3HCBM0.95995490.9737542"));
echo $passwordMD5;
?>

该函数返回: MWQXndiwodyymdhjm2rmotg2mwm5zwjinmyyzqyogu=


有没有任何md5/编码大师可以帮助我解决这个问题?

使用我得到的
1d142086208c3df9861c9ebb6f2c428e
,PHP的
md5(“Dn@v9Dr3HCBM0.95995490.9737542“
如果我做了
btoa(SparkMD5.hash(”Dn@v9Dr3HCBM0.95995490.9737542"))
在我得到的
mwqxndiwodyymdhjm2rmotg2mwm5zwjinmyyyyzqyogu=
中,我猜
HRQghiCMPfmGHJ67byxCjg==
是二进制字符串的base64版本,而较长的M字符串是十六进制字符串的base64。最后一点注意:好了,在客户端上散列密码是没有意义的。如果没有人在窃听,您最好发送实际密码。如果有人正在窃听,他们现在有了散列,可以用它登录。当然,他们没有实际的密码,但是(同样是afaik)散列主要用于将密码存储在数据库中,因为密码落入坏人手中的风险要大得多。叮,叮,叮!你搞定了。我在MD5函数周围添加了一个hextobin(),它成功了。谢谢
<?
$passwordMD5 = base64_encode(md5("Dn@v9Dr3HCBM0.95995490.9737542"));
echo $passwordMD5;
?>