验证在线操作的算法

时间:2014-05-29 04:44:17

标签: algorithm authentication operations

我需要一个想法来开发一种安全算法,以使用服务器中的PHP和用户设备中的Android应用程序验证在线操作。

这是什么想法?

用户尝试登录系统。 服务器向用户的设备(Android)发送确认请求。

用户可以看到应用中的国家/地区,城市,IP,浏览器和操作系统,所有这些都与登录尝试有关,如果所有这些信息都匹配,则可以点击确认。该应用程序将根据此信息生成一个8位数的令牌并发送到服务器,服务器将尝试生成具有相同信息的令牌,如果两个令牌匹配,则服务器接受登录尝试。

这只是一种可能的操作。

我需要什么?

用于验证任何在线操作的通用算法。

e.g:

function generateRandonTokenUsingNParameters(){
    $args = func_num_args();
    $token = 12345678; //Start token

    for($i=0; $i < $args; $i++){
        $token = CRAZY_MATH_USING_ALL_PARAMETERS_TO_GENERATE_8_DIGITS_TOKEN($token, func_get_arg($i));
    }

    return $token; //Final token based in the informations of the operation

}

//LOGIN INFORMATION
$ip = "192.168.0.1";
$browser = "Chrome";
$city = "Los Angeles";
$country = "USA";
$os = "Windows";
$android_app_local_seed = "ab0982deb79a9d73b2e820";

//PRINTING LOGIN TOKEN
echo generateRandonTokenUsingNParameters($ip, $browser, $city, $country, $os, $android_app_local_seed);

您将在CRAZY_MATH_USING_ALL_PARAMETERS_TO_GENERATE_8_DIGITS_TOKEN()函数中使用什么?

感谢。

1 个答案:

答案 0 :(得分:0)

您可以将所有信息连接为字符串,然后在此字符串上计算sha1哈希值。在它之后你可以从它获得8个字符。