ref: 5de1231c0605526b22779dd827cc96461de40f77
dir: /lib/crypto/clear.myr/
use std pkg crypto = /* designed to facilitating freeing sensitive data */ generic clear : (p : @a# -> void) generic slclear : (sl : @a[:] -> void) generic free : (p : @a# -> void) generic slfree : (sl : @a[:] -> void) ;; generic clear = {p : @a# std.memfill((p : byte#), 0, sizeof(@a)) } generic slclear = {sl : @a[:] std.memfill((sl : byte#), 0, sizeof(@a)*sl.len) } generic free = {p : @a# clear(p) std.free(p) } generic slfree = {sl : @a[:] slclear(sl) std.slfree(sl) }