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

OSCHINA-MIRROR/wolferhua-authcode

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 2 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 28.11.2024 00:45 0b311aa

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

В проекте данные передаются с помощью 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 )

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

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