1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/wolferhua-authcode

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Код аутентификации

В проекте данные передаются с помощью base64. После использования выяснилось, что в base64 есть три специальных символа: +, / и =, которые влияют на проверку данных. Поэтому была выполнена дополнительная упаковка на основе base64. Это гарантирует бесперебойную передачу данных и устанавливает срок их действия по аналогии с методом шифрования discuz.

Пример

include 'AuthCode.php';

// Упаковка данных для получения строки
$pack = AuthCode::pack([
    'name' => 'wolferhua',
    'mail' => '358273385@qq.com',
    'sex' => 'man',
    'site'=>'http://www.hashmop.com/'
]);

echo $pack . PHP_EOL;
//e3Z6sGiJJAkhIiIcImlJdHEiOBJObTCwUyN0MEZNTGIwMGUwSWRhbUgwSk5VME16VVkwanh6TVdnMVFsRngwbWp2YnlJczR6NWhiV29pT2lKM2IyY3paWEpvZFdFaUxDSnpaWGdpT2lKdFlXNGlMQ0p6YVhSbElqb2lhSFIwY0RwY0wxd3ZkM2QzTG1oaGMyaHRiM0F1WTI5dFhDOGlmUSIsInNpZ24iOiI3OWMwNjM4NzIwNDJhZmEyNjI3ZDFmYzYwMjhkZmVkNyIsInRpbWVzdGFtcCI6MTUxMDIxMTc2OX0

// Распаковка строки
$data = AuthCode::unpack($pack);
var_dump($data);
/**
array(4) {
  ["appId"]=>
  string(0) ""
  ["data"]=>
  array(4) {
    ["mail"]=>
    string(16) "358273385@qq.com"
    ["name"]=>
    string(9) "wolferhua"
    ["sex"]=>
    string(3) "man"
    ["site"]=>
    string(23) "http://www.hashmop.com/"
  }
  ["sign"]=>
  string(32) "79c063872042afa2627d1fc6028dfed7"
  ["timestamp"]=>
  int(1510211769)
}

*/
// Распаковка строки для получения исходных данных
$data = AuthCode::getDataByPack($pack);
var_dump($data);
/**
array(4) {
  ["mail"]=>
  string(16) "358273385@qq.com"
  ["name"]=>
  string(9) "wolferhua"
  ["sex"]=>
  string(3) "man"
  ["site"]=>
  string(23) "http://www.hashmop.com/"
}
*/

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

В проекте данные передаются с помощью base64. После использования выяснилось, что в base64 есть три специальных символа: +, / и =, которые влияют на проверку подписи данных. Поэтому данные были упакованы на основе base64 один раз. Это гарантирует, что процесс передачи данных пройдёт без ошибок. Также, ссылаясь на метод шифрования discuz, для дан... Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/wolferhua-authcode.git
git@api.gitlife.ru:oschina-mirror/wolferhua-authcode.git
oschina-mirror
wolferhua-authcode
wolferhua-authcode
master