Подключаю Яндекс.Деньги через библиотеку http://habrahabr[dot]ru/blogs/pay_system/131648/ . Не буду вдаваться в подробности, но в исходниках есть два метода: storeToken и restoreToken. Один сохраняет ключ и токен в файл формата .json, второй вытаскивает из фала токен:
PHP:
скопировать код в буфер обмена
public function storeToken($key, $accessToken) { $aes = new Crypt_AES(); $aes->setKey(self::TOKEN_STORAGE_SECRET); else $tokenArray[$key] = $encryptedToken; } public function restoreToken($key) { $aes = new Crypt_AES(); $aes->setKey(self::TOKEN_STORAGE_SECRET); $decryptedToken = $aes->decrypt(base64_decode($tokenArray[$key])); return $decryptedToken; } else throw new YandexMoneyException(YandexMoneyException::ERR_MESS_TOKEN_NOT_FOUND . ' with key = ' . $key, 1006); } else throw new YandexMoneyException(YandexMoneyException::ERR_MESS_TOKEN_NOT_FOUND . ' with key = ' . $key . ' not found', 1006); }
Сделал, чтобы токен сохранялся в БД:
PHP:
скопировать код в буфер обмена
public function storeToken($key, $accessToken) { $aes = new Crypt_AES(); $aes->setKey(self::TOKEN_STORAGE_SECRET); } public function restoreToken($key) { $token = $row['token']; $aes = new Crypt_AES(); $aes->setKey(self::TOKEN_STORAGE_SECRET); return $decryptedToken; }
Токен в базу сохраняется методом storeToken, извлекается через restoreToken, вот только вернуть $decryptedToken не получается. Может быть я неправильно его шифрую в storeToken? Или неправильно расшифровываю в restoreToken?
|