@freik/node-utils
Version:
My personal set of utilities for NodeJS
2 lines (1 loc) • 1.14 kB
JavaScript
var p=Object.create;var n=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var y=Object.getPrototypeOf,d=Object.prototype.hasOwnProperty;var h=(e,r)=>{for(var t in r)n(e,t,{get:r[t],enumerable:!0})},a=(e,r,t,f)=>{if(r&&typeof r=="object"||typeof r=="function")for(let c of u(r))!d.call(e,c)&&c!==t&&n(e,c,{get:()=>r[c],enumerable:!(f=s(r,c))||f.enumerable});return e};var v=(e,r,t)=>(t=e!=null?p(y(e)):{},a(r||!e||!e.__esModule?n(t,"default",{value:e,enumerable:!0}):t,e)),B=e=>a(n({},"__esModule",{value:!0}),e);var k={};h(k,{Decrypt:()=>K,Encrypt:()=>g,MakeKey:()=>l});module.exports=B(k);var i=v(require("node:crypto"));const o="aes-256-ctr";function l(e){const r=i.createHash("sha256").update(e+"-key-"+e).digest(),t=i.createHash("sha256").update("iv-"+e+"-iv").digest(),f=new Array(16).fill(0);for(let c=0;c<t.length;c++)f[c%16]=f[c%16]^t[c];return{iv:Buffer.from(f),key:r}}function g(e,r){const t=i.createCipheriv(o,e.key,e.iv),f=t.update(r);return Buffer.concat([f,t.final()])}function K(e,r){const t=i.createDecipheriv(o,e.key,e.iv),f=t.update(r);return Buffer.concat([f,t.final()])}