0

net框架对数据进行加密,并存储在数据库中。但是我想查询加密的数据,除了一一解密数据。这可以查询加密数据吗?谢谢。

PS我使用Framework.Security.TripleDES该类进行加密,并使用MSSQL数据库。谢谢。

4

3 回答 3

2

如果您使用相同的 IV 加密每条记录,您可以通过加密搜索的字符串并与存储的数据进行比较来进行简单的搜索。但是,如果您需要更复杂的搜索,除非您重新考虑应用程序的架构,否则您会很不走运。

于 2013-05-02T08:13:48.907 回答
1

根据定义NO。如果您的加密数据是可搜索的,则加密被破坏。您必须为每个加密的项目使用不同的随机 IV,唯一的搜索方法是解密每个项目并将其与搜索的项目进行比较。这是禁止的。您可以做的是还存储数据的散列并搜索散列,请参阅索引加密数据。这使您可以快速进行精确搜索,但不能进行部分搜索或范围搜索。

于 2013-05-02T08:18:14.513 回答
0

你不能!

加密用于使有意义的数据变得毫无意义(对其他人而言)。因此,没有人可以拦截您的私人数据。

我猜您的加密数据存储在字节数组中。每个字节都是加密的结果,因此毫无意义(除了加密机制)。如果数据是有意义的,那么加密的质量就会很差。

当然,您可以在字节数组中搜索某些字节。当然你可以数所有的零,但我不明白这一点。

于 2013-05-02T08:11:47.570 回答