我是Android开发的新手,我的问题是我可以在加密文件中搜索加密的字符串。简而言之,当我首先给出一个搜索词时,它会被加密并在加密文件中搜索所需的术语。我搜索谷歌但却什么也没找到在java或android一个相关的我发现是: Encrypted Search
答案 0 :(得分:0)
如果可以,我建议您解密数据,将其存储在内存中,并在完成后将其丢弃。如果该选项不可用,我建议您查看Homomorphic encryption。该算法由一些IBM人员开发,但仍然是高度实验性的,仅建议进行研究。希望这有帮助!
答案 1 :(得分:0)
这绝对取决于您使用的加密。正如Zack Matthews所提到的那样,有一种同态加密技术可以使加密信息的这一操作和其他操作成为可能。但对于更简单,更常见的加密类型,并非如此简单。即使在ECB模式下(由于它具有您在有限意义上寻找的属性而不准确),像AES,Twofish和Serpent这样的块密码(通常具有128位块,但有时为64位)将具有相同的密码只有当该16字节块中的每个字节与您要查找的字节相同时,纯文本才会生成相同的密文。在纯文本中翻转一位,整个块中的密文将不同。
CBC模式会变得更糟。此模式具有XOR反馈,实际上保证相同的纯文本永远不会产生相同的密文,即使该纯文本在同一文档中重复出现。