这可以搜索加密数据吗?

时间:2013-05-02 07:21:53

标签: c# .net sql-server security

net framework做加密数据,并存储在数据库中。但我想查询加密数据,除了逐个解密数据。这可以查询加密数据吗?谢谢。

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

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

根据定义。如果您的加密数据是可搜索的,则加密会被破坏。您必须为加密的每个项目使用不同的随机IV,唯一的搜索方法是解密每个项目并将其与搜索的项目进行比较。这是令人望而却步的。您可以做的是存储数据的哈希并搜索哈希,请参阅Indexing Encrypted Data。这使您可以快速进行搜索,但不会进行部分搜索或范围搜索。

答案 2 :(得分:0)

不,你不能!

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

我猜你的加密数据存储在一个字节数组中。每个字节都是加密的结果,因此非常无意义(除了排除机制)。如果数据是有意义的,那么这种情况的质量非常差。

当然,您可以搜索字节数组中的某些字节。当然你可以算上所有的零,但我没有看到这一点。