Как создать токен аутентификации для сообщения, отправленного на сервер? - PullRequest
0 голосов
/ 22 июля 2010

Я создаю приложение для iphone, в котором я должен поместить некоторые данные на мой сервер PHP.Например, я делаю HTTP-запрос следующим образом:

http: example.com/append.php? Data1 = X & data2 = Y & token = Z

X и Y - мои известные данные, и я хочувычислить Z с помощью некоторого алгоритма, который принимает X и Y являются входными данными и выдают Z.

Так что, когда я получаю X, Y, Z на сервере, я могу запустить противоположный алгоритм, чтобы проверить оригинальность Xи Y.

Я не знаю, что использовать для формирования Z. Может кто-нибудь помочь мне, пожалуйста?

Спасибо

Ответы [ 2 ]

0 голосов
/ 22 июля 2010

Хэши и соли.

Если ваша единственная цель - проверить оригинальность x и y, вы можете создать соленый хеш из двух значений. Это означает, что вы берете x, y и соль (пароль, известный как серверу, так и клиенту) и создаете из него хеш. Таким образом, вы должны создать это с обеих сторон и сравнить значения. Примерно так:

$x = 435345;
$y = 2323;
$salt = 'password';
$token = md5($x.$y.$salt);
0 голосов
/ 22 июля 2010

Вот как я это делаю.Я создаю хэш md5 из salt.data1.data2.Соль известна только клиентскому приложению и серверу.

Если вы пересчитаете хеш на сервере, и токен будет таким же, данные в порядке.

$salt = "test";
$token = md5($salt.$data1.$data2);

(Z в вашем объяснении становится хешем md5, рассчитанным по соли + data1 + data2.)

...