WinCrypt is built in rust and uses the native windows api's CryptProtectData and CryptUnprotectData functions
const wincrypt = require("wincrypt");
const text = Buffer.from("test");
const pass = Buffer.from("123");
const encrypted = wincrypt.protectData(text, pass);
console.log(wincrypt.unprotectData(encrypted, pass).toString()); // Prints "test"export const enum Flags {
CurrentUser = "CurrentUser",
LocalMachine = "LocalMachine"
}
export function protectData(
data: Buffer,
optionalEntropy?: Buffer | undefined | null,
flags?: Flags | undefined | null
): Buffer;
export function unprotectData(
data: Buffer,
optionalEntropy?: Buffer | undefined | null,
flags?: Flags | undefined | null
): Buffer;wincrypt.protectData(Buffer.from("test"));INFO: Default flag is
0("CurrentUser")
wincrypt.protectData(Buffer.from("test"), null, wincrypt.Flags.LocalMachine);
// or
wincrypt.protectData(Buffer.from("test"), null, "LocalMachine");The usage for
unprotectDatamethod is the same asprotectData
© (C) Angelo II Apache-2.0 license, all right reserved