mirror of
https://github.com/planetrenox/inzerosight.git
synced 2026-03-17 03:01:02 +00:00
5 lines
11 KiB
JavaScript
5 lines
11 KiB
JavaScript
(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const f of document.querySelectorAll('link[rel="modulepreload"]'))p(f);new MutationObserver(f=>{for(const d of f)if(d.type==="childList")for(const i of d.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&p(i)}).observe(document,{childList:!0,subtree:!0});function b(f){const d={};return f.integrity&&(d.integrity=f.integrity),f.referrerPolicy&&(d.referrerPolicy=f.referrerPolicy),f.crossOrigin==="use-credentials"?d.credentials="include":f.crossOrigin==="anonymous"?d.credentials="omit":d.credentials="same-origin",d}function p(f){if(f.ep)return;f.ep=!0;const d=b(f);fetch(f.href,d)}})();const I={3:{unifier:"",0:"",1:"",2:""},6:{unifier:"",0:"",1:"",2:"",3:"",4:"",5:""},8:{unifier:"",0:"",1:"",2:"",3:"",4:"",5:"",6:"",7:"\uFEFF"},encodeString:(a,r=3)=>Array.from(a,b=>b.codePointAt(0).toString(r).split("").map(p=>I[r][p]).join("")).join(I[r].unifier),encodeNumberArray:(a,r=3)=>a.map(b=>b.toString(r).split("").map(p=>I[r][p]).join("")).join(I[r].unifier),decodeToString:(a,r=3)=>a.split(I[r].unifier).map(b=>String.fromCodePoint(parseInt(Array.from(b).map(p=>Object.keys(I[r]).find(f=>I[r][f]===p)).join(""),r))).join(""),decodeToNumberArray:(a,r=3)=>a.split(I[r].unifier).map(b=>parseInt(Array.from(b).map(p=>Object.keys(I[r]).find(f=>I[r][f]===p)).join(""),r))};function Y(a){return a&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a}var C,_;function x(){if(_)return C;_=1;const a="Input must be an string, Buffer or Uint8Array";function r(i){let s;if(i instanceof Uint8Array)s=i;else if(typeof i=="string")s=new TextEncoder().encode(i);else throw new Error(a);return s}function b(i){return Array.prototype.map.call(i,function(s){return(s<16?"0":"")+s.toString(16)}).join("")}function p(i){return(4294967296+i).toString(16).substring(1)}function f(i,s,u){let g=`
|
||
`+i+" = ";for(let k=0;k<s.length;k+=2){if(u===32)g+=p(s[k]).toUpperCase(),g+=" ",g+=p(s[k+1]).toUpperCase();else if(u===64)g+=p(s[k+1]).toUpperCase(),g+=p(s[k]).toUpperCase();else throw new Error("Invalid size "+u);k%6===4?g+=`
|
||
`+new Array(i.length+4).join(" "):k<s.length-2&&(g+=" ")}console.log(g)}function d(i,s,u){let g=new Date().getTime();const k=new Uint8Array(s);for(let w=0;w<s;w++)k[w]=w%256;const A=new Date().getTime();console.log("Generated random input in "+(A-g)+"ms"),g=A;for(let w=0;w<u;w++){const E=i(k),l=new Date().getTime(),o=l-g;g=l,console.log("Hashed in "+o+"ms: "+E.substring(0,20)+"..."),console.log(Math.round(s/(1<<20)/(o/1e3)*100)/100+" MB PER SECOND")}}return C={normalizeInput:r,toHex:b,debugPrint:f,testSpeed:d},C}var T,D;function V(){if(D)return T;D=1;const a=x();function r(e,c,n){const h=e[c]+e[n];let m=e[c+1]+e[n+1];h>=4294967296&&m++,e[c]=h,e[c+1]=m}function b(e,c,n,h){let m=e[c]+n;n<0&&(m+=4294967296);let y=e[c+1]+h;m>=4294967296&&y++,e[c]=m,e[c+1]=y}function p(e,c){return e[c]^e[c+1]<<8^e[c+2]<<16^e[c+3]<<24}function f(e,c,n,h,m,y){const q=g[m],G=g[m+1],K=g[y],z=g[y+1];r(u,e,c),b(u,e,q,G);let S=u[h]^u[e],U=u[h+1]^u[e+1];u[h]=U,u[h+1]=S,r(u,n,h),S=u[c]^u[n],U=u[c+1]^u[n+1],u[c]=S>>>24^U<<8,u[c+1]=U>>>24^S<<8,r(u,e,c),b(u,e,K,z),S=u[h]^u[e],U=u[h+1]^u[e+1],u[h]=S>>>16^U<<16,u[h+1]=U>>>16^S<<16,r(u,n,h),S=u[c]^u[n],U=u[c+1]^u[n+1],u[c]=U>>>31^S<<1,u[c+1]=S>>>31^U<<1}const d=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),i=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3],s=new Uint8Array(i.map(function(e){return e*2})),u=new Uint32Array(32),g=new Uint32Array(32);function k(e,c){let n=0;for(n=0;n<16;n++)u[n]=e.h[n],u[n+16]=d[n];for(u[24]=u[24]^e.t,u[25]=u[25]^e.t/4294967296,c&&(u[28]=~u[28],u[29]=~u[29]),n=0;n<32;n++)g[n]=p(e.b,4*n);for(n=0;n<12;n++)f(0,8,16,24,s[n*16+0],s[n*16+1]),f(2,10,18,26,s[n*16+2],s[n*16+3]),f(4,12,20,28,s[n*16+4],s[n*16+5]),f(6,14,22,30,s[n*16+6],s[n*16+7]),f(0,10,20,30,s[n*16+8],s[n*16+9]),f(2,12,22,24,s[n*16+10],s[n*16+11]),f(4,14,16,26,s[n*16+12],s[n*16+13]),f(6,8,18,28,s[n*16+14],s[n*16+15]);for(n=0;n<16;n++)e.h[n]=e.h[n]^u[n]^u[n+16]}const A=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);function w(e,c,n,h){if(e===0||e>64)throw new Error("Illegal output length, expected 0 < length <= 64");if(c&&c.length>64)throw new Error("Illegal key, expected Uint8Array with 0 < length <= 64");if(n&&n.length!==16)throw new Error("Illegal salt, expected Uint8Array with length is 16");if(h&&h.length!==16)throw new Error("Illegal personal, expected Uint8Array with length is 16");const m={b:new Uint8Array(128),h:new Uint32Array(16),t:0,c:0,outlen:e};A.fill(0),A[0]=e,c&&(A[1]=c.length),A[2]=1,A[3]=1,n&&A.set(n,32),h&&A.set(h,48);for(let y=0;y<16;y++)m.h[y]=d[y]^p(A,y*4);return c&&(E(m,c),m.c=128),m}function E(e,c){for(let n=0;n<c.length;n++)e.c===128&&(e.t+=e.c,k(e,!1),e.c=0),e.b[e.c++]=c[n]}function l(e){for(e.t+=e.c;e.c<128;)e.b[e.c++]=0;k(e,!0);const c=new Uint8Array(e.outlen);for(let n=0;n<e.outlen;n++)c[n]=e.h[n>>2]>>8*(n&3);return c}function o(e,c,n,h,m){n=n||64,e=a.normalizeInput(e),h&&(h=a.normalizeInput(h)),m&&(m=a.normalizeInput(m));const y=w(n,c,h,m);return E(y,e),l(y)}function t(e,c,n,h,m){const y=o(e,c,n,h,m);return a.toHex(y)}return T={blake2b:o,blake2bHex:t,blake2bInit:w,blake2bUpdate:E,blake2bFinal:l},T}var O,N;function X(){if(N)return O;N=1;const a=x();function r(l,o){return l[o]^l[o+1]<<8^l[o+2]<<16^l[o+3]<<24}function b(l,o,t,e,c,n){i[l]=i[l]+i[o]+c,i[e]=p(i[e]^i[l],16),i[t]=i[t]+i[e],i[o]=p(i[o]^i[t],12),i[l]=i[l]+i[o]+n,i[e]=p(i[e]^i[l],8),i[t]=i[t]+i[e],i[o]=p(i[o]^i[t],7)}function p(l,o){return l>>>o^l<<32-o}const f=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),d=new Uint8Array([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0]),i=new Uint32Array(16),s=new Uint32Array(16);function u(l,o){let t=0;for(t=0;t<8;t++)i[t]=l.h[t],i[t+8]=f[t];for(i[12]^=l.t,i[13]^=l.t/4294967296,o&&(i[14]=~i[14]),t=0;t<16;t++)s[t]=r(l.b,4*t);for(t=0;t<10;t++)b(0,4,8,12,s[d[t*16+0]],s[d[t*16+1]]),b(1,5,9,13,s[d[t*16+2]],s[d[t*16+3]]),b(2,6,10,14,s[d[t*16+4]],s[d[t*16+5]]),b(3,7,11,15,s[d[t*16+6]],s[d[t*16+7]]),b(0,5,10,15,s[d[t*16+8]],s[d[t*16+9]]),b(1,6,11,12,s[d[t*16+10]],s[d[t*16+11]]),b(2,7,8,13,s[d[t*16+12]],s[d[t*16+13]]),b(3,4,9,14,s[d[t*16+14]],s[d[t*16+15]]);for(t=0;t<8;t++)l.h[t]^=i[t]^i[t+8]}function g(l,o){if(!(l>0&&l<=32))throw new Error("Incorrect output length, should be in [1, 32]");const t=o?o.length:0;if(o&&!(t>0&&t<=32))throw new Error("Incorrect key length, should be in [1, 32]");const e={h:new Uint32Array(f),b:new Uint8Array(64),c:0,t:0,outlen:l};return e.h[0]^=16842752^t<<8^l,t>0&&(k(e,o),e.c=64),e}function k(l,o){for(let t=0;t<o.length;t++)l.c===64&&(l.t+=l.c,u(l,!1),l.c=0),l.b[l.c++]=o[t]}function A(l){for(l.t+=l.c;l.c<64;)l.b[l.c++]=0;u(l,!0);const o=new Uint8Array(l.outlen);for(let t=0;t<l.outlen;t++)o[t]=l.h[t>>2]>>8*(t&3)&255;return o}function w(l,o,t){t=t||32,l=a.normalizeInput(l);const e=g(t,o);return k(e,l),A(e)}function E(l,o,t){const e=w(l,o,t);return a.toHex(e)}return O={blake2s:w,blake2sHex:E,blake2sInit:g,blake2sUpdate:k,blake2sFinal:A},O}var j,v;function J(){if(v)return j;v=1;const a=V(),r=X();return j={blake2b:a.blake2b,blake2bHex:a.blake2bHex,blake2bInit:a.blake2bInit,blake2bUpdate:a.blake2bUpdate,blake2bFinal:a.blake2bFinal,blake2s:r.blake2s,blake2sHex:r.blake2sHex,blake2sInit:r.blake2sInit,blake2sUpdate:r.blake2sUpdate,blake2sFinal:r.blake2sFinal},j}var Q=J(),P,H;function W(){if(H)return P;H=1;function a(r={}){const b=r.bits||16,p=r.rounds||22,f=r.rightRotations||7,d=r.leftRotations||2,i=2**b,s=i-1,u=(o,t)=>o>>t|o<<b-t&s,g=(o,t)=>o<<t&s|o>>b-t,k=(o,t,e)=>(o=u(o,f),o=o+t&s,o^=e,t=g(t,d),t^=o,[o,t]),A=(o,t,e)=>(t^=o,t=u(t,d),o^=e,o=o-t&s,o=g(o,f),[o,t]);function w(o,t){let e=o[0],c=o[1],n=t[0],h=t.slice(1);[c,e]=k(c,e,n);for(let m=0;m<p-1;m++){const y=m%h.length;[h[y],n]=k(h[y],n,m),[c,e]=k(c,e,n)}return[e,c]}function E(o,t){let e=o[0],c=o[1],n=t[0],h=t.slice(1);for(let m=0;m<p-1;m++){const y=m%h.length;[h[y],n]=k(h[y],n,m)}for(let m=0;m<p;m++){const y=(p-2-m)%h.length;[c,e]=A(c,e,n),[h[y],n]=A(h[y],n,p-2-m)}return[e,c]}function l(o){return(t,e)=>{const c=o([t/i|0,t&s],e);return c[0]*i+c[1]}}return{encrypt:l(w),decrypt:l(E),encryptRaw:w,decryptRaw:E}}return P=a,P}var Z=W();const $=Y(Z),F=$(),B=document.getElementById("textarea"),ee=document.getElementById("encoder"),te=document.getElementById("cipher");document.getElementById("encodeButton").addEventListener("click",M);document.getElementById("decodeButton").addEventListener("click",M);function R(a){const r=Q.blake2bHex(a,null,8);return[parseInt(r.slice(0,4),16),parseInt(r.slice(4,8),16),parseInt(r.slice(8,12),16),parseInt(r.slice(12,16),16)]}function L(a){return F.encrypt(0,a)&65535}function ne(a,r){const b=L(r);return Array.from(a,(p,f)=>{const d=b<<16|f&65535,i=F.encrypt(d,r);return p.codePointAt(0)^i})}function re(a,r){const b=L(r);return a.map((p,f)=>{const d=b<<16|f&65535,i=F.encrypt(d,r);try{return String.fromCodePoint(p^i)}catch{return""}}).join("")}function oe(){return te.value}function M(a){if(B.value===""){B.value="The text box is empty.";return}const r=a.target.id==="encodeButton"?"NO":"YES",b=oe(),p=ee.value.split("-")[1],f=b!=="PLAIN",d=f&&prompt("enter password.");if(!(f&&!d)){try{B.value=ie[r][b](B.value,p,d)}catch(i){console.log(i)}r==="NO"&&(B.select(),document.execCommand("copy"),B.value=`Copied to your clipboard.
|
||
A copy has been placed between these brackets [`+B.value+"]")}}const ie={NO:{PLAIN:(a,r)=>I.encodeString(a,r),SPECK32_64CTR:(a,r,b)=>I.encodeNumberArray(ne(a,R(b)),r),"SPECK32_64ECB (insecure)":(a,r,b)=>{const p=R(b);return I.encodeNumberArray(Array.from(a,f=>F.encrypt(f.codePointAt(0),p)),r)}},YES:{PLAIN:(a,r)=>I.decodeToString(a,r),SPECK32_64CTR:(a,r,b)=>re(I.decodeToNumberArray(a,r),R(b)),"SPECK32_64ECB (insecure)":(a,r,b)=>{const p=R(b);return I.decodeToNumberArray(a,r).map(f=>{try{return String.fromCodePoint(F.decrypt(f,p))}catch{return""}}).join("")}}};
|