数据库字段加密后,如何查询呢
数据库字段加密后,怎么查询呢?
考虑到access数据库的安全性不好,准备对某些关键字段加密,但是加密后,怎么查询呢?
------解决方案--------------------
应该是数据库本身支持字段加密的才有可能实现这种查询。
自己用代码把字段内容进行加密后存入数据库的,没办法进行这种查询的。
------解决方案--------------------
把查询条件也加密
比如存1进去,加密为aaa
查询1的时候,先加密为aaa再查询,呵呵
------解决方案--------------------
三层结构的好做,二层的也可以做,想必楼主是做的两层的,你是怕别人看你的数据库内容吧,如果你知道access字段加密方法就可以实现你的要求
------解决方案--------------------
我不知道为何那么多人说不行
'select * from 目标库 where mflag is not null and addr like '+ ' ' ' '+ '% '+EncodeStr(Edit1.Text,PKey)+ '% '+ ' ' ' '
其中EncodeStr是自定义的编码函数,本句查询在vfp数据库中通过
------解决方案--------------------
好的加密结果有可能是这样吧?
abc-> FESFEX
abcde-> UIHKTY
c-> DEGSGS
你能去like吗?
------解决方案--------------------
只有当加密算法是类似于“每个字节都与同一个字节的值(密钥)进行异或”这样简单的加密算法时,楼上有几位DX提到的字段加密后能够支持LIKE查询的说法才能成立。
哪怕是“每个字节都与某一系列字节的值(密钥)进行异或”这样一个很普通的加密算法,楼上几位的说法都不能成立。
只要是原文中的某个字符,当它出现在原文中的不同位置时会造成加密得到的对应结果是不相同的话,就没法用LIKE查询了。
目前来看,用自己的函数来做加密,同时又支持LIKE查询的话,这种加密的强度显得弱了些,太容易被破解了。
考虑到access数据库的安全性不好,准备对某些关键字段加密,但是加密后,怎么查询呢?
------解决方案--------------------
应该是数据库本身支持字段加密的才有可能实现这种查询。
自己用代码把字段内容进行加密后存入数据库的,没办法进行这种查询的。
------解决方案--------------------
把查询条件也加密
比如存1进去,加密为aaa
查询1的时候,先加密为aaa再查询,呵呵
------解决方案--------------------
三层结构的好做,二层的也可以做,想必楼主是做的两层的,你是怕别人看你的数据库内容吧,如果你知道access字段加密方法就可以实现你的要求
------解决方案--------------------
我不知道为何那么多人说不行
'select * from 目标库 where mflag is not null and addr like '+ ' ' ' '+ '% '+EncodeStr(Edit1.Text,PKey)+ '% '+ ' ' ' '
其中EncodeStr是自定义的编码函数,本句查询在vfp数据库中通过
------解决方案--------------------
好的加密结果有可能是这样吧?
abc-> FESFEX
abcde-> UIHKTY
c-> DEGSGS
你能去like吗?
------解决方案--------------------
只有当加密算法是类似于“每个字节都与同一个字节的值(密钥)进行异或”这样简单的加密算法时,楼上有几位DX提到的字段加密后能够支持LIKE查询的说法才能成立。
哪怕是“每个字节都与某一系列字节的值(密钥)进行异或”这样一个很普通的加密算法,楼上几位的说法都不能成立。
只要是原文中的某个字符,当它出现在原文中的不同位置时会造成加密得到的对应结果是不相同的话,就没法用LIKE查询了。
目前来看,用自己的函数来做加密,同时又支持LIKE查询的话,这种加密的强度显得弱了些,太容易被破解了。