ref: b31626248ea64c23d2020846e2cac1c751348b61
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) }