|
|
|
|
|
для: ladan
(10.01.2012 в 16:15)
| | вообщем весь день убил на то, чтоб понять почему в запрос отправляется неверная расшифрованная инфа.
Оптимальное решение, это скрипт, что приводил в самом первом сообщении, он рабочий, но оказывается, если длина шифруемого текста меньше чем 8 символов, то расшифрованные данные не пойдут для запроса бд.. вообще бред.
Может быть из-за этого алгоритма $td = mcrypt_module_open ('des', '', 'ecb', '');? | |
|
|
|
|
|
|
|
для: ladan
(10.01.2012 в 16:06)
| | все, данные из бд выводит!!!!!!! Косячный шифровальщик был, софт тайм рулит )) | |
|
|
|
|
|
|
|
для: ladan
(10.01.2012 в 16:00)
| | а нет, извиняюсь, все правильно из статьи софттайм, это я косячил | |
|
|
|
|
|
|
|
для: ladan
(10.01.2012 в 15:55)
| | из статьи http://www.softtime.ru/bookphp/gl8_2.php
там в шифровании указан такой вектор
<?
$vector = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_CAST_256,
MCRYPT_MODE_CFB), MCRYPT_RAND);
?>
|
не буду говорить, что это неправильно, но пароль не расшифровывался
поменял на
<?
$vector = mcrypt_create_iv (mcrypt_get_iv_size (MCRYPT_CAST_256, MCRYPT_MODE_CFB), MCRYPT_DEV_RANDOM);
?>
|
и сейчас вот расшифровался. | |
|
|
|
|
|
|
|
для: ladan
(10.01.2012 в 15:46)
| | все, разобрался с вектором
<?
$size = mcrypt_get_iv_size (MCRYPT_CAST_256, MCRYPT_MODE_CFB);
$iv = mcrypt_create_iv ($size, MCRYPT_DEV_RANDOM);
$key = "qwe233jk312jx813893xk312"; // ключ для расшифрования
$password = "12345";
$pass_shifr = mcrypt_encrypt(MCRYPT_CAST_256, $key, $password,
MCRYPT_MODE_CFB, $iv);
echo $pass_shifr."<br><br>";
$key = "qwe233jk312jx813893xk312";
$pass_deshifr = mcrypt_decrypt(MCRYPT_CAST_256, $key, $pass_shifr,
MCRYPT_MODE_CFB, $iv);
echo $pass_deshifr;
?>
выводит рандомный шифрованный пароль и расшифровывает в то что надо :)
|
| |
|
|
|
|
|
|
|
для: Slo_Nik
(10.01.2012 в 15:39)
| | делал так, все нормально проходит, функция шифрования такая значит :) Вот сейчас проблема с вектором(сообщение выше) | |
|
|
|
|
|
|
|
для: ladan
(10.01.2012 в 15:35)
| | попробуйте получить данные из базы без всякой шифровки.
если всё пройдёт нормально, то дело в функции шифрования и тогда будете знать где искать причину | |
|
|
|
|
|
|
|
для: ladan
(10.01.2012 в 15:15)
| | уже получилось расшифровать, но без - $vector в mcrypt
<?
$key = "qwe233jk312jx813893xk312"; // ключ для расшифрования
$password = "12345";
$pass_shifr = mcrypt_encrypt(MCRYPT_CAST_256, $key, $password,
MCRYPT_MODE_CFB);
echo $pass_shifr."<br><br>";
$key = "qwe233jk312jx813893xk312";
$pass_deshifr = mcrypt_decrypt(MCRYPT_CAST_256, $key, $pass_shifr,
MCRYPT_MODE_CFB);
echo $pass_deshifr;
?>
при перезагрузке шифрованный пароль не меняется, но выдается предупреждение
Warning: mcrypt_encrypt() [function.mcrypt-encrypt]: Attempt to use an empty IV, which is NOT recommend
а с вектором не удается расшифровать (
|
| |
|
|
|
|
|
|
|
для: Slo_Nik
(10.01.2012 в 15:15)
| | ну я один владелец, доступ к бд только у меня:) А так конечно пароль в бд совпадает с тем что ввожу, но mysql_fetch_array не хочет принимать "такой расшифрованный" пароль | |
|
|
|
|
|
|
|
для: ladan
(10.01.2012 в 14:55)
| | нашел хороший шифровальщик http://www.softtime.ru/bookphp/gl8_2.php
<?
Шифрование
Применить шифрование к cookies можно разными способами, рассмотрим один из них:
<?
// создаем вектор начального состояния для шифрования
$vector = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_CAST_256,
MCRYPT_MODE_CFB), MCRYPT_RAND);
$key = "qwe233jk312jx813893xk312"; // ключ для расшифрования
$cook_name = "maks";
$cipher = mcrypt_encrypt(MCRYPT_CAST_256, $key, $cook_name,
MCRYPT_MODE_CFB, $vector);
setcookie("username", $cipher, "/decrypt.php");
?>
Как видно из листинга 10.13, расшифровка cookie проводится при помощи скрипта decrypt.php, код которого приведен ниже:
<?
// вектор начального состояния остается неизменным
$vector = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_CAST_256,
MCRYPT_MODE_CFB), MCRYPT_RAND);
$key = "qwe233jk312jx813893xk312";
$decrypt_name = mcrypt_ decrypt(MCRYPT_CAST_256, $key, $username,
MCRYPT_MODE_CFB, $vector);
echo("$decrypt_name, мы рады видеть вас на нашей страничке!");
?>
?>
|
Пока что разбираюсь в нем, сделал так. Пароль шифрует, но не расшифровывает
<?
// создаем вектор начального состояния для шифрования
$vector = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_CAST_256,
MCRYPT_MODE_CFB), MCRYPT_RAND);
$key = "qwe233jk312jx813893xk312"; // ключ для расшифрования
$password = "12345";
$pass_shifr = mcrypt_encrypt(MCRYPT_CAST_256, $key, $password,
MCRYPT_MODE_CFB, $vector);
echo $pass_shifr."<br><br>"; /* выводит зашифрованный пароль */
// вектор начального состояния остается неизменным
$vector = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_CAST_256,
MCRYPT_MODE_CFB), MCRYPT_RAND);
$key = "qwe233jk312jx813893xk312";
$pass_deshifr = mcrypt_decrypt(MCRYPT_CAST_256, $key, $pass_shifr,
MCRYPT_MODE_CFB, $vector);
echo $pass_deshifr; /* выводит карякули */
?>
|
И это нормально, что при каждой перезагрузке он каждый раз по разному шифруется? | |
|
|
|
|