【发布时间】:2023-03-10 10:23:01
【问题描述】:
在我们的项目中,我们计划将数据以加密格式存储在 mysql 数据库中,我们在我们的项目中使用了 php 和 MqSql。 Mqsql 加密工作正常,我对 MqSql 使用了以下方法
INSERT INTO emails SET email= TO_BASE64(AES_ENCRYPT('selvamani.p','3xY4/xrbFETctQS0Rkd1r6MKS4PUXetmjTeuRHkMt2w=', '44Y9/xrbFETcmQS0'));
SELECT id, AES_DECRYPT(FROM_BASE64(email), '3xY4/xrbFETctQS0Rkd1r6MKS4PUXetmjTeuRHkMt2w=','44Y9/xrbFETcmQS0') AS decrypt_string from emails e
但是我们无法解密 PHP 中的字符串,它是由 MqSql 加密的。在php中我们下面这样使用
$stringValue = openssl_encrypt($stringValue, $this->cipher_method,$this->encryption_key, $this->options, $this->encryption_iv);
$stringValue = openssl_decrypt(base64_decode($stringValue), $this->cipher_method, $this->encryption_key, $this->options, $this->encryption_iv);
【问题讨论】:
-
您的意思是“不能”而不是“能够”吗?帖子有点不清楚,您实际上并没有问过问题,而且这与 PHP 的关系不是很明显……您是否也有一些相关的 PHP 代码与我们分享?
-
感谢您纠正错字,但您还需要澄清我所询问的其他内容
-
@ADyson 你现在可以检查吗?希望你能理解
-
谢谢。但是,我们看不到您传递给函数的任何值,只有变量。这让你很难确切地知道你做了什么。
-
无论如何,下面的答案对您没有帮助吗?很详细。
标签: php mysql encryption openssl