MYSQL AES_ENCRYPT问题

时间:2015-12-17 20:54:52

标签: php mysql wordpress mysqli

我有一个简单的应用程序需要在Wordpress安装中存储敏感数据。

数据来自用户通过表单,到目前为止,我一直使用server { # if no Host match, close the connection to prevent host spoofing listen 80 default_server; return 444; } 存储数据,但是当我们接近启动此项目时,我想确保敏感的用户信息是加密的,只有在阅读时才会被解密。

我不知道如何使用$wpdb->insert类来完成这项工作,因此我使用$wpdb来使用此组件。到目前为止,我运行mysqli语句来插入所有正常数据,然后打开一个新连接以尝试插入敏感数据。

$wpdb->insert

这似乎工作正常,除了所有值始终编码为单个字符,然后解码为$id = $wpdb->insert_id; $servername = 'localhost'; $username = 'root'; $password = 'root'; $db = 'wp_database'; $conn = new mysqli( $servername, $username, $password, $db ); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } // Fetch Data and store it $sud = $form['sens_user_data']; $key = 'mysecretkey'; $tbl = $wpdb->prefix . 'sensitive'; $sql = "UPDATE $tbl SET sens_user_data = AES_ENCRYPT(?, ?) WHERE id = ?"; if ( $stmt = $conn->prepare($sql) ) { $stmt->bind_param('ssi', $sud, $key, $id); $stmt->execute(); } else { $error = $conn->errno . ' ' . $conn->error; ChromePhp::log($error); } $conn->close();

我做错了什么?

0 个答案:

没有答案