jjzjj

SecureZeroMemory

全部标签

c++ - 在 Delphi 中使用 SecureZeroMemory

我知道有一个SecureZeroMemoryC中的函数函数实现在中定义作为RtlSecureZeroMemory功能。QNS:如何SecureZeroMemory在Delphi中使用?Delphi是否发布了包含该功能的库?我正在使用Delphi7。Windows.pas只有ZeroMemory但不是SecureZeroMemory. 最佳答案 据我所知,ZeroMemory和SecureZeroMemory之间的唯一区别是SecureZeroMemory是作为内联函数实现的,确保它不会'不会被编译器优化掉。我不认为Delphi执行相

c++ - 当安全不是问题时,有什么理由使用 SecureZeroMemory() 而不是 memset() 或 ZeroMemory() 吗?

ThisMSNDarticle说SecureZeroMemory()适用于在内存中存储了一段时间的敏感数据应该确保在不再需要时尽快覆盖的情况。thisSOquestion的答案解释为什么这会有所作为。现在使用SecureZeroMemory()来初始化每个内存块有什么意义吗?例如,在一个项目中,我看到如下代码:ICONINFOii;::SecureZeroMemory(&ii,sizeof(ICONINFO));if(::GetIconInfo(hIcon,&ii)){//dostuff,then//releasebitmapsif(ii.hbmMask)::DeleteObject(

c++ - 使用 SecureZeroMemory() 真的有助于提高应用程序的安全性吗?

WinAPI中有一个SecureZeroMemory()函数,用于在不再需要缓冲区时删除用于存储密码/加密key/类似内容的内存。它与ZeroMemory()的不同之处在于它的调用不会被编译器优化掉。删除用于存储敏感数据的内存真的有必要吗?它真的能让应用程序更安全吗?我知道数据可以写入交换文件或休眠文件,其他进程可能会读取我程序的内存。但是,当数据仍在使用时,也会发生同样的情况。为什么使用,然后删除比使用更好? 最佳答案 确实如此。例如,休眠文件未加密。如果您不安全地清除内存,您可能会遇到麻烦。不过,这只是一个例子。您应该始终只在需