This is a function implementation SecureZeroMemory in D programming language
To use this package, run the following command in your project's root directory:
Put the following dependency into your project's dependences section:
D Zero Memory
This is a function implementation SecureZeroMemory in D programming language.
Fills a block of memory with zeros. SecureZeroMemory is designed to be a more secure version of zero memory function.
Use this function instead of zero memory function when you want to ensure that your data will be overwritten promptly, as some compilers can optimize a call to zero memory function by removing it entirely.
$ dub add zero_memory
import zero_memory; ubyte ar = [0, 0, 0, 0, 0]; ubyte ar2 = [1, 2, 3, 4, 5]; secureZeroMemory(ar2.ptr, ar2.length); assert(ar == ar2); uint i = [0, 0, 0, 0, 0 ]; uint i2 = [8, 5, 99, 5, 99]; // !!! function secureZeroMemory processes data by byte. Therefore, it is wrong: secureZeroMemory(i2.ptr, i2.length); assert(i != i2); // Need to calculate the length: secureZeroMemory(i2.ptr, uint.sizeof * i2.length); assert(i == i2); // or use a cast to type void i2 = [8, 5, 99, 5, 99]; secureZeroMemory(cast(void)i2); assert(i == i2);
- Registered by DarkRiDDeR
- 0.2.0 released 2 years ago
- MIT License
- Copyright © 2019, DarkRiDDeR