SecureZeroMemory和ZeroMemory的区别
来源:互联网 发布:3dmax mac中文破解版 编辑:程序博客网 时间:2024/06/11 18:16
This function is defined as the RtlSecureZeroMemory function (see WinBase.h). The implementation of RtlSecureZeroMemory is provided inline and can be used on any version of Windows (see WinNT.h.)
Use this function instead of ZeroMemory when you want to ensure that your data will be overwritten promptly, as some C++ compilers can optimize a call toZeroMemory by removing it entirely.
Many programming languages include syntax for initializing complex variables to zero. There can be differences between the results of these operations and theSecureZeroMemory function. UseSecureZeroMemory to clear a block of memory in any programming language.
The following code fragment shows an instance where it is good to useSecureZeroMemory instead ofZeroMemory.
WCHAR szPassword[MAX_PATH];// Retrieve the passwordif (GetPasswordFromUser(szPassword, MAX_PATH)) UsePassword(szPassword);// Clear the password from memorySecureZeroMemory(szPassword, sizeof(szPassword));
If ZeroMemory were called in this example instead of SecureZeroMemory, the compiler could optimize the call because theszPassword buffer is not read from before it goes out of scope. The password would remain on the application stack where it could be captured in a crash dump or probed by a malicious application.
ZeroMerory调用操作可能被编译器优化掉,导致保存敏感信息的堆栈不能被清空而被恶意软件利用或dump到
- SecureZeroMemory()和ZeroMemory()的区别
- SecureZeroMemory和ZeroMemory的区别
- SecureZeroMemory和ZeroMemory的区别
- secureZeroMemory和ZeroMerory的区别
- ZeroMemory和memset的联系和区别
- ZeroMemory和memset的联系和区别
- ZeroMemory、memset和 “={0}” 的区别
- ZeroMemory和memset的联系和区别(转)
- ZeroMemory、memset 和“={0}” 用于清零操作的区别
- ZeroMemory、memset 和“={0}” 用于清零操作的区别
- ZeroMemory、memset 和“={0}” 用于清零操作的区别
- ZeroMemory、memset 和“={0}” 用于清零操作的区别
- ZeroMemory、memset 和 “={0}”的联系与区别
- ZeroMemory memset ={0}的区别和探究
- ZeroMemory、memset 和“={0}” 用于清零操作的区别
- ZeroMemory memset ={0}的区别和探究
- 【转载】ZeroMemory、memset和 “={0}” 的区别
- ZeroMemory、memset 和“={0}” 用于清零操作的区别 .
- C++primer阅读笔记-模板与泛型编程(重载与模板)
- Delphi 事件 --事件原来是函数指针,同时是个属性
- adjacent_find
- iOS KVC & KVO
- STL map的使用(二)
- SecureZeroMemory和ZeroMemory的区别
- ToolBar居中显示文字或控件
- CSS margin 属性
- 入手Cubieboard2之制作最小Linux系统
- Hibernate – One-to-One example (Annotation)
- hadoop学习之hadoop完全分布式集群安装
- nginx启用php
- ashx入门
- 清除Teleport的tppabs标签