Подключаю Яндекс.Деньги через библиотеку http://habrahabr.ru/blogs/pay_system/131648/. Не буду вдаваться в подробности, но в исходниках есть два метода: storeToken и restoreToken. Один сохраняет ключ и токен в файл формата .json, второй вытаскивает из фала токен: PHP: public function storeToken($key, $accessToken) { $aes = new Crypt_AES(); $aes->setKey(self::TOKEN_STORAGE_SECRET); $encryptedToken = base64_encode($aes->encrypt($accessToken)); if (file_exists(self::TOKEN_STORAGE_FILE)) $tokenArray = json_decode(file_get_contents(self::TOKEN_STORAGE_FILE), TRUE); else $tokenArray = Array(); $tokenArray[$key] = $encryptedToken; $json = json_encode($tokenArray); file_put_contents(self::TOKEN_STORAGE_FILE, $json); } public function restoreToken($key) { if (file_exists(self::TOKEN_STORAGE_FILE)) { $tokenArray = json_decode(file_get_contents(self::TOKEN_STORAGE_FILE), TRUE); if (array_key_exists($key, $tokenArray)) { $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) { mysql_connect(self::DB_HOST, self::DB_USER, self::DB_PASSWORD) or die (mysql_error()); mysql_select_db(self::DB_NAME) or die (mysql_error()); mysql_query("SET NAMES 'utf8'"); $aes = new Crypt_AES(); $aes->setKey(self::TOKEN_STORAGE_SECRET); $encryptedToken = base64_encode($aes->encrypt($accessToken)); mysql_query("INSERT INTO `ym` (`uid`, `token`) VALUES ('$key', '$encryptedToken')") or die (mysql_error()); mysql_close(); } public function restoreToken($key) { mysql_connect(self::DB_HOST, self::DB_USER, self::DB_PASSWORD) or die (mysql_error()); mysql_select_db(self::DB_NAME) or die (mysql_error()); mysql_query("SET NAMES 'utf8'"); $result = mysql_query("SELECT * FROM `ym` WHERE `uid` = '".$key."'") or die (mysql_error()); $row = mysql_fetch_array($result); $token = $row['token']; mysql_close(); $aes = new Crypt_AES(); $aes->setKey(self::TOKEN_STORAGE_SECRET); $decryptedToken = $aes->decrypt(base64_decode($token)); return $decryptedToken; } Токен в базу сохраняется методом storeToken, извлекается через restoreToken, вот только вернуть $decryptedToken не получается. Может быть я неправильно его шифрую в storeToken? Или неправильно расшифровываю в restoreToken?[/php]