![]() |
php & mysql - шифрование Добрый день! Подскажите такую штуку. Мне надо зашишифровать hello с ключом key: В phpMyAdmin делаю: SELECT AES_ENCRYPT('hello','key') = 5e27050b59c889fee9f953137259bf6b Пытаюсь расшифровать: SELECT AES_DECRYPT('5e27050b59c889fee9f953137259bf6b','key') = NULL Хотя, если сделать обратное, т.е. SELECT AES_DECRYPT(AES_ENCRYPT('hello','key'),'key') = то всё нормально... |
Может дело, что шифруете через "key", а расшифровываете через "ke y"? |
Вообще пытаюсь AES расшифровать средствами php, нифига не получается.. выдает какуюто белиберду.. хотя код функции 100% рабочий: $query="select * from roles where id=".$_SESSION[level]; $row=mysql_fetch_assoc(mysql_query($query)); $passw=mysql_aes_decrypt($row[passw],$key); function mysql_aes_decrypt( $val, $ky ) ** $mode = MCRYPT_MODE_ECB; $enc = MCRYPT_RIJNDAEL_128; $dec = @mcrypt_decrypt($enc, $ky, $val, $mode, @mcrypt_create_iv( @mcrypt_get_iv_size($enc, $mode), MCRYPT_DEV_URANDOM ) ); return rtrim( $dec, ( ( ord(substr( $dec, strlen( $dec )-1, 1 )) >= 0 and ord(substr( $dec, strlen( $dec )-1, 1 ) ) <= 16 ) ? chr(ord(substr( $dec, strlen( $dec )-1, 1 ))): null) ); ** код взят mysql_aes_decrypt с [url]http://php.tonnikala.org/manual/ru/ref.mcrypt.php[/url] Скорее всего там что то преобразовать в чего то надо, но только вот как ((( |
1-Гламурный Креведко > да это сюда так вставилось... |
там есть нечитаемые символы и кодировка какая ? |
например у меня так выглядит ^' Yȉ���SrY�k |
загони результат AES_ENCRYPT в base64 например и попробуй, а потом обратно из base64 И decrypt |
Получилось :) Всем спасибо) Тип поля в таблице должен быть BLOB, тогда всё работает. |
Текущее время: 20:38. Часовой пояс GMT +3. |