На самом деле мне нужно зашифровать yii2 URL-адрес идентификатор, как нижеКак я могу выполнить этот Yii код в Yii2
Например: от:
http://localhost/projectname/backend/web/index.php?r=user%2Fview&id=20
к:
http://localhost/projectname/backend/web/index.php?r=user%2Fview&id=Wmg4T2FZTkNhVjFIMGlrU1ZDUkhMZz09
при поиске решения для этого я нашел решение на Yii.
Как можно преобразовать этот код в Yii2. conifg/main.php
'Urlmanager' => [
'rules' => array(
'' => 'site/index', // normal URL rules
array(// your custom URL handler
'class' => 'application.components.CustomUrlRule',
),
),
]
и мой компонент CustomUrlRule,
class CustomUrlRule extends CBaseUrlRule {
public function createUrl($manager, $route, $params, $ampersand) {
$key = "testKey";
return base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $route, MCRYPT_MODE_CBC, md5(md5($key))));
}
public function parseUrl($manager, $request, $pathInfo, $rawPathInfo) {
$key = "testKey";
return rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($key), base64_decode($pathInfo), MCRYPT_MODE_CBC, md5(md5($key))), "\0");
}
}
Этот выход будет ->http://localhost/projectname/backend/web/index.php?r=user%2Fview&id=sTK7yXb5Pu22d4n5tbGgT6hwQxhvlrzAe5KWJ0Y4020=
да поможет мне преобразовать этот код выше, чтобы Yii2
Пожалуйста, правильно откорректируйте свои образцы кода. – SohelAhmedM
приведенный выше код - это мои образцы, как я могу преобразовать его в формат yii2. – Nodemon
Вам больше не нужно кодировать и декодировать значение id 'int value. Вы можете создать пользовательский помощник, который выполняет эту задачу. Однако использование односторонних хэширующих функций будет сложно декодировать. Итак, у вас есть один из двух вариантов: сохранение значения кодированного идентификатора в другом уникальном ключевом поле в базе данных или, например, не использование хэширования 'md5'. – SaidbakR