2014-12-03 6 views
0

Я вставляю значения в базу данных, но мне нужен пароль для шифрования, а затем вставляйте в него специальные символы. Я использую базу данных mysql, и кодирование выполняется в обычной программе php.php Aes_Encrypt Fatal Error

PHP PROGRAM 


$mysecretkey = 'd5k8b6q3'; 
$password=(AES_ENCRYPT('$v4','$mysecretkey')); // problem is here in encryption 
$q="insert into customers (name,username,email,password) values('$v1','$v2','$v3','$password')"; 

$s= mysql_query($q); 

        if(!$s) 
        { 
         $r["re"]="Inserting problem in database"; 
         print(json_encode($r)); 
        } 
        else 
        { 
         $r["re"]="Record inserted successfully"; 
        } 

Но когда я выполнить код вместо шифрования его я получаю ошибку

Fatal error: Call to undefined function AES_ENCRYPT() in ..../checking.php on line 5 

, как решить эту проблему и другие детали есть поле пароля в базе данных VARCHAR и я Извлечение данные из POST-переменной v1, v2, v3, v4 и тестового ключа добавляются в вышеуказанный код.

, когда я даю пароль, "test123" после шифрования AES данных должен вставить в этот "÷A5jèŸ2A1::h "

Спасибо за вашу помощь и время друзей ........ Пожалуйста, скажите, как решить эту проблему

+1

Вам нужно поставить «вокруг» часть AES_ENCRYPT(). Кроме того, использование функции MYSQL 'AES_ENCRYPT' [не очень безопасно] (http://security.stackexchange.com/questions/45838/is-why-should-you-avoid-aes-in-mysql-true) посредством по умолчанию. –

+0

Конечно, я попробую и дам вам знать мой друг @MisterDood –

ответ

2

попробовать, как показано ниже (я думаю, что это функция MySQL не PHP, так что используйте непосредственно в запросе)

$q="insert into customers (name,username,email,password) values('$v1','$v2','$v3',AES_ENCRYPT('".$v4."','".$mysecretkey."'))"; 

или

$q="insert into customers (name,username,email,password) values('$v1','$v2','$v3',AES_ENCRYPT('$v4','$mysecretkey'))"; 

больше: - http://www.w3resource.com/mysql/encryption-and-compression-functions/aes_encrypt%28%29.php

+0

Спасибо, я попробую и дам вам знать об этом .... Но я попробовал второй способ, который вы сказали, что он не работает @Rakesh Sharma –

+1

оба являются некоторыми цитатами разн. дайте попробовать, который будет работать для вас –

+0

Я первый отлично работаю благодаря брату, я не забуду u в своей жизни. я сижу с трех дней и играю с ним, но у сделал это за 3 минуты @Rakesh Sharma –

0

Вы можете попробовать больше похож на ваш подход, как

mysql_query ("SET @password = AES_ENCRYPT ('" $ v4.. " ''" $ Mysecretkey.. "')");

$ q = "вставить в клиенты (имя, имя пользователя, адрес электронной почты, пароль) значения ('$ v1', '$ v2', '$ v3', @ password)";

+0

благодатные слова bro я проверю и дам вам знать об этом –