如何发送Web请求发送HASH密钥并获取响应Android

时间:2015-07-09 14:01:50

标签: android http hash web server

我到处搜索如何实现这一目标,但没有结果。 首先,我需要向网站发出请求然后发送哈希(我已经拥有)并获得一些数据的响应。 我能够连接,但我无法使用哈希键来获取数据。 任何人都可以帮我使用android如何做到这一点? 感谢。

我试图遵循这个:Make an HTTP request with android 使用主机

解决方案:

uint8_t

2 个答案:

答案 0 :(得分:0)

这取决于您使用的是哪种哈希(SHA-N,MD5等)以及您用于构建服务器的框架类型。尝试搜索框架的文档,使用哪种加密哈希函数。然后在Internet上搜索在您的代码上实现此加密哈希函数的API(例如,Django使用PBKDF2)。之后,您需要定义此函数的参数(salt,迭代次数,密码(或哈希))。该算法使用salt和迭代次数值计算散列(密码)。因此,当您尝试访问服务器时,您必须通过HTTP发送生成的哈希。如果此哈希与服务器端生成的哈希相同,则身份验证成功。

答案 1 :(得分:0)

这是你可以做的一个例子:

    final String URL = "http://192.168.0.100:8000/myHistory/mobile/?user=";
    HttpClient client;
    StringBuilder url = new StringBuilder(URL);
    url.append(user);
    url.append("&pwd=");
    url.append(hash);
    client = new DefaultHttpClient();
    HttpGet get = new HttpGet(url.toString());
    HttpResponse response = null;
    try {
        response = client.execute(get);
    } catch (IOException e) {
        e.printStackTrace();
    }

    int status = 0;
    status = response.getStatusLine().getStatusCode();
    if (status == 200) {
        HttpEntity entity = response.getEntity();
        String data = "";
        try {
            data = EntityUtils.toString(entity);
        } catch (IOException e) {
            e.printStackTrace();
        }

       //Here you manipulate the 'data' variable, which is in HTML format.