Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 全表搜索和数据加密_Mysql_Vb6_Encryption - Fatal编程技术网

Mysql 全表搜索和数据加密

Mysql 全表搜索和数据加密,mysql,vb6,encryption,Mysql,Vb6,Encryption,我用vb6和mysql开发了一个客户端软件。这是桌子 CREATE TABLE IF NOT EXISTS `main_table` ( `f_id` int(11) NOT NULL DEFAULT '0', `id` mediumint(15) NOT NULL AUTO_INCREMENT, `text_to_encrypt` mediumtext PRIMARY KEY (`id`), KEY `f_id` (`f_id`) ); 客户机希望将数

我用vb6和mysql开发了一个客户端软件。这是桌子

CREATE TABLE IF NOT EXISTS `main_table` (
    `f_id` int(11) NOT NULL DEFAULT '0',
    `id` mediumint(15) NOT NULL AUTO_INCREMENT,
    `text_to_encrypt` mediumtext
    PRIMARY KEY (`id`),
    KEY `f_id` (`f_id`)
);

客户机希望将数据加密到文本列。现在加密数据非常容易,但真正的问题是,它可以对用户提供的关键字进行全文搜索,并在解密加密数据后显示数据。该专栏大约有900000篇文章,并将继续增加,我想要针对Windows操作系统的解决方案。怎么办?

如果客户机是决定某件事情应该如何表现的人,那么客户机必须知道,如果不解密加密数据,就不能用关键字搜索加密数据


这意味着获取表的全部内容,对其进行解密,然后进行搜索。

< P>您可以考虑对搜索的所有文本内容进行加密和索引。如果文字是Hello world!您需要保存加密的hello和world,然后根据这些内容进行搜索,这些内容在写入初始记录时已映射到加密文本字段。

无法搜索加密列


如果要求只是对数据进行加密,您考虑过吗?

是的,但如果我每次对表进行解密,然后搜索并删除解密后的表,会花费很多时间,因为不可能在短时间内解密大型记录。假设没有滚动加密、salt或类似方法,使其成为非常弱的加密。每一个单词每次都必须加密到同一个字符串,这意味着它只不过是一个腐烂的加密。这是一个公平的观点。像这样的东西怎么用盐?我们有一个和OP类似的问题,我正在考虑我提出的方法。下面是用于加密字符串的alg:$salt=self::getSalt$string=trim$string$size=mcrypt\u get\u iv\u sizeMCRYPT\u RIJNDAEL\u 128,mcrypt\u MODE\u ECB$iv=mcrypt\u create\u iv$size,mcrypt\u RAND$encrypted=mcrypt_encryptMCRYPT_RIJNDAEL_128,$salt,$string,mcrypt_MODE_ECB,$iv;返回bin2hex$加密;谢谢你的反馈。