//License: Expat(MIT) //Chrisoft Xiong 2017-2018 var decid; function decryptui(id) { document.getElementById("decryptui").style.display="block"; document.getElementById("keyinp").focus(); setTimeout(function(){document.getElementById("decryptui").style.opacity="1";},20); decid=id; document.getElementById("keyhint").innerHTML="Hint: "+document.querySelector(`encrypted[enid="${id}"]`).getAttribute("hint"); document.getElementById("keyinp").onkeypress=function(e){if(e.keyCode==13)document.getElementById('btndecrypt').click();} } function hidedecryptui() { document.getElementById("decryptui").style.opacity="0"; setTimeout(function(){ document.getElementById("decryptui").style.display="none"; document.getElementById("keyinp").value=""; },500); } function _decrypt(id,ctr) { const aes=aesjs,sha256=Sha256; const e=document.querySelector(`encrypted[enid="${id}"]`); const cont=e.getAttribute("encont"); const bc=atob(cont); const b=new Array(bc.length); for(var i=0;i {scrypt(keyu8,saltu8,1024,16,2,32,(e,p,k)=>{e?rej(e):k?resolv(k):undefined;});} ); const ctr=new aes.ModeOfOperation.ctr(enckey); if(!_decrypt(id,ctr)) { alert("The decryption key you have entered could be wrong, please try again."); return; } _memokey(id,enckey); for(let i of document.querySelectorAll('encrypted[encont]')) if(_decrypt(i.getAttribute('enid'),ctr))_memokey(i.getAttribute('enid'),enckey); footnoter();document.getElementById('purgep').style.display=''; hidedecryptui(); } function _purgep() { try{localStorage.removeItem(`blogkeys${window.location.pathname}`);} catch(e){} location.reload(true); } function _decryptonload() { let o; try { const os=localStorage.getItem(`blogkeys${window.location.pathname}`); o=os&&os.length?JSON.parse(os):[]; }catch(e){console.warn(`local storage failed: ${e}`);} for(let i of o.entries()) if(i[1]&&i[1].length)_decrypt(Number(i[0]).toString(),new aesjs.ModeOfOperation.ctr(i[1])); if(o.length){footnoter();document.getElementById('purgep').style.display='';} }