gpt4 book ai didi

php - 无法将加密文本插入sql

转载 作者:太空宇宙 更新时间:2023-11-03 15:14:36 25 4
gpt4 key购买 nike

我目前在 php 中使用 openssl_public_encrypt 方法加密使用 GET 发送到服务器的消息(这只是理论证明),如果我尝试将加密文本存储到数据库中,我最终会得到结果:“你的 SQL 语法有错误;检查与你的 MySQL 服务器版本对应的手册以获得正确的语法”,即使明文不会出现此错误。

用于生成 key 的代码:

$config = array(
"digest_alg" => "sha512",
"private_key_bits" => 4096,
"private_key_type" => OPENSSL_KEYTYPE_RSA,
);

// Create the private and public key $res = openssl_pkey_new($config);

// Extract the private key from $res to $privKey openssl_pkey_export($res, $privKey);

// Extract the public key from $res to $pubKey $pubKey = openssl_pkey_get_details($res); $pubKey = $pubKey["key"];

openssl_public_encrypt($message, $encrypted, $pubKey); $sql = "INSERT INTO na14_messaging.messages (To, From, For, message) VALUES ('$To', '$From', '$For', $encrypted)";

加密字符串示例:@aú¡±ñþú]н¾ÄÉçù\dgQppx+Þ≈ŽüÑzXê+¡™½ºWÏãУú]¢c—Ä'õ›µCŽ{¶f¶³”cââ“,hK‹á[àžÑõ~Ÿ-ëòqÊ”ÏAÁ{™ OMu£öÈåmL¶9j½m¨eë]|ñN šÈo|"∼û®AûÉ{q¤<'ˆVÿ ¤û*.÷+j'iâÜÈu_öSÏ∼þHX_ȃâñ'ªDÌÛó겿2¾GÛó겿2¾GÀ5ûÃ'á©« ™`§=¹0å ÿŸ¦ácü ¤l¼ÛmÚ!yszyH2È«\šP÷ÒÕц.ºjôÊEŠ»™'LrñboïVܶÓFw~3‡Ûzy.Z,?:îawxRã^∼>:µ-áÒ'<ûQ8‚•"ÕC9Ç[\£vU¶°6‡Þts <Çg¢8Y8›$c∼"•;ï>Ѿ)„fá+ž ™ØÓ•¿¼€äF£Þ\ZjxÂS#þ³”"zÇù Áçd¥qw‚mn$eî' $•Ñæ6Ð ½žS™ÕÍPƒuâÛŸ% 'o7b¯gŸ»D[³%ådKÁ·¶ Et×y ©[∼Û•g@?°Ü÷§Ý± ³Õßý‹¸Åå¡Ð{(Ö'f;w–3ïMkHÿÇùÒ1•ÏåÜ

我假设它只是导致将其放入数据库的错误的字符,我已经尝试过 varchar、longtext 和 blob。我不确定哪种数据类型适用于此。

最佳答案

将 SQL 变量改回 longtext 以及编码为 base64 已解决所有发生的问题。

关于php - 无法将加密文本插入sql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27791464/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com