我的代碼工作得很好。但之後我決定在將數據存儲在數據庫之前加密值。我將aes_encrypt存儲在數據庫中時使用它來加密值。我正在使用aes_decrypt解密從數據庫中檢索/選擇的值。這使我可以使用列名作爲關聯數組的元素,但現在元素名稱全部搞亂了。這裏是我的代碼:使用aes_decrypt和fetch_assoc
$databaseObject = connectToDB();
$result = $databaseObject->query("SELECT AES_DECRYPT(column_name, '".ENCRYPT_KEY."') FROM tempTable WHERE `id` = 3");
$assoc_array = $result->fetch_assoc();
var_dump($assoc_array);
echo $assoc_array['column_name'];
該代碼輸出如下:
array(1) { ["AES_DECRYPT(column_name, '6da6365bd886f275731d4662c0c29992fdd59a5d')"]=> string(7) "siracha" } siracha
在列中的值是siracha
和列名是column_name
。
我想繼續使用關聯數組,但我不想使用$assoc_array["AES_DECRYPT(column_name, '6da6365bd886f275731d4662c0c29992fdd59a5d')"]
來獲取值。 6da6365bd886f275731d4662c0c29992fdd59a5d
部分是我在將值存儲到數據庫之前用於加密數據的關鍵。
非常感謝您始終有幫助的建議。