zero-memory 0.1.3

This is a function implementation SecureZeroMemory in D programming language


To use this package, run the following command in your project's root directory:

Dub Build Status License

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.

Install

$ dub add zero_memory

Usage example

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);

License

MIT License

Dependencies:
none
Versions:
0.1.3 2019-Aug-09
0.1.2 2019-Aug-08
0.1.1 2019-Aug-05
0.1.0 2019-Aug-04
~master 2019-Aug-09
Show all 5 versions
Download Stats:
  • 4 downloads today

  • 38 downloads this week

  • 178 downloads this month

  • 178 downloads total

Score:
2.0
Short URL:
zero-memory.dub.pm