我有一个PHP哈希方法,我需要从我的C#程序调用以检查我的数据库的密码。这是PHP代码:
<?php
function generateHash($text, $salt = null)
{
if ($salt === null)
{
$salt = substr(md5(uniqid(rand(), true)), 0, 25);
}
else
{
$salt = substr($salt, 0, 25);
}
return $salt.sha1($salt.$text);
}
?>
我正在尝试将var $ text设置为来自C#的东西,并使用webclient来获取返回的值。这是C#代码:
WebClient c = new WebClient();
string r = c.DownloadString("http://www.example.com/hash.php?text=" + pass);
return r;
我是PHP的新手,并不知道如何解决这个问题。我在互联网上搜索,一无所获。
提前感谢您的帮助!
答案 0 :(得分:3)
在PHP代码中,您可以使用GET
超全局数组访问$_GET
参数,如下所示:
if (isset($_GET['text'] && !empty($text))
{
echo generateHash($text);
}
else
{
echo 'Sorry, invalid request.';
}
每当客户端使用GET
参数向此PHP脚本发送text
请求时,上述代码将生成一个哈希并返回它。然后可以在C#代码中使用返回的哈希(我不知道C#,所以我不会告诉你如何)。
答案 1 :(得分:0)
<?php
function generateHash($text, $salt = null)
{
if ($salt === null)
{
$salt = substr(md5(uniqid(rand(), true)), 0, 25);
}
else
{
$salt = substr($salt, 0, 25);
}
return $salt . sha1($salt . $text);
}
$text = $_GET["text"];
echo generateHash($text);
?>