WinCrypt
WinCrypt is built in rust and uses the native windows api's CryptProtectData and CryptUnprotectData functions
Example
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"
Types
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;
Usage
Without password
wincrypt.protectData(Buffer.from("test"));
With custom flag (only CRYPTPROTECT_LOCAL_MACHINE
supported)
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
unprotectData
method is the same asprotectData
© (C) Angelo II Apache-2.0 license, all right reserved