Настройка шифрования данных в ModX

Рейтинг: 0Ответов: 0Опубликовано: 17.10.2014

Добрый день! Решаю свои повседневные дела, столкнулся с такой проблемой, что шифрование данных в MODX Revolution проходит в формате PBKDF2, о чем наглядно сообщает документация файла changelog.txt:

[#325] Allow configurable user password hashing with PBKDF2 default implementation

Написал такой простой сниппет по установке пароля пользователю:

$q = $modx->newQuery('modUser');
 $q->innerJoin('modUserProfile', 'Profile');
 $q->where(array('modUser.username' => $email, 'OR:Profile.email:=' => $email));

 $user = $modx->getObject('modUser', $q);
 $user->set('password', '0987654321');
 $user->save();

В результате получаю в значении password такую абракадабру: JUeI95e5CPSLCjPEbmXsCqf0U1yUxDXipbp0OMerguc=

В Интернете нарыл такое решение шифрования:

<?php
$password = "password";
$iterations = 1000;

// Generate a random IV using mcrypt_create_iv(),
// openssl_random_pseudo_bytes() or another suitable source of randomness
$salt = mcrypt_create_iv(16, MCRYPT_DEV_URANDOM);

$hash = hash_pbkdf2("sha256", $password, $salt, $iterations, 20);
echo $hash;
?>

Однако в том примере подставляют значения "соли", количество итераций и другие опции, в моем же сниппете все скрыто и непонятно как шифруется.

Хотелось бы знать две вещи:
1. Как поменять в настройках Modx режим шифрования на более привычный, например, на md5?
2. Если менять нежелательно, то можно ли тогда с помощью стандартных функций и возможностей ModX зашифровать свое значение, чтобы получить идентичный результат, как в моем сниппете?

Нужно это для следующих целей: делаю аутентификацию пароля пользователя, при сохранении получаю в формате PBKDF2 пароль, а преобразовать своими методами такой пароль из формы в PBKDF2 не могу, чтобы проверить подлинность пароля. Как решить эту ситуацию?

Ответы

Ответов пока нет.