假设我有一个包含我的数据的文本文件.
data :
ab
bc
de
Run Code Online (Sandbox Code Playgroud)
-
encrypted data on text file :
ba
cb
ed
Run Code Online (Sandbox Code Playgroud)
我想bc从文本文件中找到,所以我必须使用以下代码解密文本文件:
SL:=TStringList.create;
SL.LoadFromFile(textfile)
SLtemp:=TStringList.create;
for I := 0 to SL.Count - 1 do
SLtemp.Add(ReverseString(SL[i])); //decrypt
SL.Free;
for I := 0 to SLtemp.Count - 1 do
if SLtemp[i] = 'bc' then
begin
showmessage('found');
break;
end;
SLtemp.Free;
Run Code Online (Sandbox Code Playgroud)
我认为我的方式是浪费资源.我必须将整个文件加载到内存并解密它们.我需要一些建议来快速找到加密文本中的特定行.
谢谢.
听起来你正在尝试实现某种类型的数据库.SQLite具有索引的透明加密支持.相信我,你的数据库是要吸,除非你把人为多年了进去.
要真正解决问题,您必须通过解密每一行并索引它们来构建(加密)索引.如果您在处理具有性能的数据时,您应该非常熟悉索引策略.
但首先要问问自己,数据是否足够大,甚至不重要?如果它在十分之一秒内运行,那么它在百分之一的运行是毫无意义的.如果它需要一个星期,这表明你无论如何都无法走上错误的轨道,小的优化也无济于事.
对不起,如果这有点苛刻,特别是来自实施一些自制数据库的人.