是否可以在Delphi中“擦除”字符串?让我解释:
我正在编写一个包含DLL来授权用户的应用程序.它会将加密文件读入XML DOM,在那里使用信息,然后释放DOM.
很明显,未加密的XML仍然存在于DLL的内存中,因此容易受到检查.现在,我不会过分保护这个 – 用户可以创建另一个DLL – 但我想采取一个基本步骤来阻止用户名在内存中存放多年.但是,由于引用,我认为我无论如何都不能轻易擦除内存.如果我遍历我的DOM(这是一个TNativeXML类)并找到每个字符串实例,然后将它变成类似“aaaaa”的东西,那么它实际上不会将新的字符串指针分配给DOM引用,然后保留旧的字符串在记忆中等待重新分配?有没有办法确定我要杀死唯一的原始副本?
或者在D2007中是否有一种方法可以告诉它从堆中擦除所有未使用的内存?所以我可以释放DOM,然后告诉它擦除.
或者我应该继续我的下一个任务而忘记这一点因为它真的不值得打扰.