gpt4 book ai didi

php - 我将如何使用 php 在 Mysql 中存储一些加密的字符串?

转载 作者:行者123 更新时间:2023-11-29 00:42:29 25 4
gpt4 key购买 nike

我如何存储一些加密的字符串(大约一到几个单词)?

假设我加密了这个字符串:

$key='fappings'; // Encryption Key
$str='Mama Luigi'; // String that I Encrypted
$encrypted = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $str, MCRYPT_MODE_CBC, md5(md5($key)));

现在,假设我不想索引该数据,或对其执行任何搜索,只想问两个问题:

  1. 我最好使用哪种数据类型?我猜是 varbinary,但我不确定...

  2. 我将如何处理我的查询?假设我会使用一个简单的 mysql_query() 函数。

我看到有些人实际上会进行 base64 编码,然后简单地插入它,就像普通字符串一样,例如:

mysql_query("insert into faps data='".base64_encode($encrypted)."'");

但有些事情告诉我这不是做这件事的方法。甚至在空间方面也不够。

什么是更好的方法?

最佳答案

根据所需的长度,使用 varbinary(如您所建议的)或 blob。为了安全起见,将字符串的长度乘以 4。

无需对其进行 base64 编码 - 这只会增加更多长度。您所需要的只是常规转义函数(基本级别的 mysql_real_escape_string,或使用 PDO 进行绑定(bind),这对您来说是安全的)。

另一种可能是使用 MySql 自己的加密函数。 http://dev.mysql.com/doc//refman/5.5/en/encryption-functions.html因为这可以为您节省一些编程麻烦?将压力从 PHP 服务器转移到 MySQL 服务器 - 因此请考虑哪个压力较小,以及通过开放网络传输未压缩的 SQL 指令是否重要等。

关于php - 我将如何使用 php 在 Mysql 中存储一些加密的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11709698/

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