gpt4 book ai didi

php - 通过 PHP 哈希 MD5 显示与通过 Unix 终端不同的结果

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:09:28 32 4
gpt4 key购买 nike

目标

我试图从我的用户 device mac + URI 中获取他们试图访问的哈希值


尝试过

我在 Mac OSTerminal 中尝试执行

echo -n "00:00:11:22:33:44||http://www.bunlongheng.com"| openssl dgst -md5 -二进制 | base64 | tr -d “=” | tr "+/""-_"

我得到了

QNyia8Q2VvKNJapAAVfXQw


我在php里试过了

$client_mac = Session::get('client_mac');
$original_uri = Session::get('original_uri');
$clean_uri = urldecode($original_uri);
$cmd = 'echo -n "'.$client_mac.'||'.$clean_uri.'" | openssl dgst -md5 -binary | base64 | tr -d "=" | tr "+/" "-_"';

//cmd = echo -n "00:00:11:22:33:44||http://www.bunlongheng.com" | openssl dgst -md5 -binary | base64 | tr -d "=" | tr "+/" "-_"

$clean_url_hash = exec($cmd);
//$clean_url_hash = t7Xnq9ClfRWciqFAYXbu7g

我已经尝试了 exec()shell_exec() - 结果相同。

我得到了

t7Xnq9ClfRWciqFAYXbu7g


结果

终端

QNyia8Q2VvKNJapAAVfXQw

PHP

t7Xnq9ClfRWciqFAYXbu7g


这是为什么呢?任何想法,任何人?


更多详情


详细PHP函数

public function forward(){

$cp_host = env('CAPTIVE_PORTAL_HOST');
$client_mac = Session::get('client_mac');
$original_uri = Session::get('original_uri');
$clean_uri = urldecode($original_uri);

$cmd = 'echo -n "'.$client_mac.'||'.$clean_uri.'" | openssl dgst -md5 -binary | base64 | tr -d "=" | tr "+/" "-_"';

$clean_url_hash = exec($cmd);

//dd($clean_url_hash); <--- I got t7Xnq9ClfRWciqFAYXbu7g
//dd(get_defined_vars());

Session::put('c_'.$clean_url_hash,$original_uri);
Session::put('clean_url_hash',$clean_url_hash);
return Redirect::to($cp_host.'fbwifi/auth?c='.$clean_url_hash);

}

函数的变量值

dd(get_defined_vars()); will return 

array:6 [▼
"cp_host" => "http://localhost:8888/"
"client_mac" => "00:00:11:22:33:44"
"original_uri" => "http%3A%2F%2Fwww.bunlongheng.com"
"clean_uri" => "http://www.bunlongheng.com"
"cmd" => "echo -n "00:00:11:22:33:44||http://www.bunlongheng.com" | openssl dgst -md5 -binary | base64 | tr -d "=" | tr "+/" "-_""
"clean_url_hash" => "t7Xnq9ClfRWciqFAYXbu7g"
]

最佳答案

您可以使用 PHP 函数生成相同的散列,而无需调用 shell。

像这样:

$hash = rtrim(base64_encode(md5("00:00:11:22:33:44||http://www.bunlongheng.com", true)),'=');
// QNyia8Q2VvKNJapAAVfXQw

工作示例:https://3v4l.org/KkR9v

关于php - 通过 PHP 哈希 MD5 显示与通过 Unix 终端不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39903323/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com