C#& PHP - 调用方法返回值

时间:2014-02-28 11:53:50

标签: c# php

我有一个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的新手,并不知道如何解决这个问题。我在互联网上搜索,一无所获。

提前感谢您的帮助!

2 个答案:

答案 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);
?>