made files more connected with pwHash

This commit is contained in:
maru21 2023-10-28 22:07:04 +02:00
parent 4e6562b225
commit 7a4f903bb4
4 changed files with 28 additions and 30 deletions

View File

@ -313,7 +313,7 @@
style="display: none" style="display: none"
> >
<span <span
onclick="this.parentElement.style.display='block'" onclick="this.parentElement.style.display='none'"
class="w3-button w3-display-topright" class="w3-button w3-display-topright"
>&times;</span >&times;</span
> >

View File

@ -47,10 +47,29 @@ function setPassword() {
let pw = sanitize(x.elements[0].value); let pw = sanitize(x.elements[0].value);
if (pw != "" || pw !== "undefined") { if (pw != "" || pw !== "undefined") {
let pwOld = pw;
passwordHash.set(sha256(pw)); passwordHash.set(sha256(pw));
let templateFiles = retrieveData("templateFiles"); let tF = retrieveData("templateFiles");
if (templateFiles == null) { if (tF == null) {
wrongPwAlert();
passwordHash.set("");
x.elements[0].value = "";
return;
}
//user logged in
//make sure to bring back persistent stat after logout
activeState.settings.persistentStorage = "true";
tF = retrieveData("templateFiles");
if (tF == null || tF.length == 0) {
activeState.settings.persistentStorage = "false";
}
document.getElementById("login").style.display = "none";
setCookie(sha256(passwordHash.name), XORCipher.encode(sha256(passwordHash.name), passwordHash), 10)
}
}
function wrongPwAlert() {
let wrongPWAlert = document.getElementById("wrongPWAlert"); let wrongPWAlert = document.getElementById("wrongPWAlert");
wrongPWAlert.style.display = "block"; wrongPWAlert.style.display = "block";
wrongPWAlert.addEventListener("click", (e) => { wrongPWAlert.addEventListener("click", (e) => {
@ -60,22 +79,6 @@ function setPassword() {
"<p>all files cleared - set new password</p>"; "<p>all files cleared - set new password</p>";
} }
}); });
passwordHash.set(pwOld);
x.elements[0].value = "";
return;
}
//user logged in
//make sure to bring back persistent stat after logout
activeState.settings.persistentStorage = "true";
let tF = retrieveData("templateFiles");
if (tF == null || tF.length == 0) {
activeState.settings.persistentStorage = "false";
}
document.getElementById("login").style.display = "none";
setCookie(sha256(passwordHash.name), XORCipher.encode(sha256(passwordHash.name), passwordHash), 10)
}
} }
function cyrb53(str, seed = 21) { function cyrb53(str, seed = 21) {

View File

@ -196,10 +196,8 @@ function saveSettings() {
//transfer tF //transfer tF
if (tF != null) storeData("templateFiles", tF); if (tF != null) storeData("templateFiles", tF);
if (setting[1] == "false") {
let msg = (activeState.settings.persistentStorage == "false") ? "temporary" : "persistent"; let msg = (activeState.settings.persistentStorage == "false") ? "temporary" : "persistent";
printVersion("storage mode: "+msg+" |"); printVersion("storage mode: "+msg+" |");
}
} }
} }

View File

@ -3,9 +3,9 @@ import sha256 from "./sha256.min.js";
import { getCurrentDate, passwordHash, sanitize } from "./scripts.js"; import { getCurrentDate, passwordHash, sanitize } from "./scripts.js";
const store = { const store = {
getItem: function (key) {return getStor().getItem(key)}, getItem: function (key) {return getStor().getItem(sha256(key+activeState.userId))},
setItem: function (key, data) {getStor().setItem(key, data)}, setItem: function (key, data) {getStor().setItem(sha256(key+activeState.userId), data)},
removeItem: function (key) {getStor().removeItem(key)}, removeItem: function (key) {getStor().removeItem(sha256(key+activeState.userId))},
clear: function () {getStor().clear()}, clear: function () {getStor().clear()},
}; };
@ -79,7 +79,7 @@ function storeData(name, data, ref) {
let lT = activeState.loadedTemplate; let lT = activeState.loadedTemplate;
let key = sha256(name + "_m21_" + lT); let key = sha256(name + "_m21_" + lT);
if (name == "templateFiles") { if (name == "templateFiles") {
key = sha256(name + "_m21_"); key = sha256(name + "_m21_" + activeState.userId);
} }
store.setItem(key, obfuscate(data)); store.setItem(key, obfuscate(data));
} }
@ -105,7 +105,7 @@ function retrieveData(name, template = "none") {
let lT = activeState.loadedTemplate; let lT = activeState.loadedTemplate;
key = sha256(name + "_m21_" + lT); key = sha256(name + "_m21_" + lT);
if (name == "templateFiles") { if (name == "templateFiles") {
key = sha256(name + "_m21_"); key = sha256(name + "_m21_"+activeState.userId);
} }
} else { } else {
key = sha256(name + "_m21_" + template); key = sha256(name + "_m21_" + template);
@ -133,15 +133,12 @@ function clearData(name, template = "none") {
lT = activeState.loadedTemplate; lT = activeState.loadedTemplate;
key = sha256(name + "_m21_" + lT); key = sha256(name + "_m21_" + lT);
if (name == "templateFiles") { if (name == "templateFiles") {
key = sha256(name + "_m21_"); key = sha256(name + "_m21_"+activeState.userId);
} }
} else { } else {
lT = template; lT = template;
key = sha256(name + "_m21_" + template); key = sha256(name + "_m21_" + template);
} }
if (name == "templateFiles") {
key = sha256(name + "_m21_");
}
store.removeItem(key); store.removeItem(key);
} }
@ -249,7 +246,7 @@ function importBookShelf() {
}); });
} }
store.setItem( store.setItem(
sha256("templateFiles-"), sha256("templateFiles_m21_"+activeState.userId),
obfuscate(JSON.stringify(templateFilesArray)) obfuscate(JSON.stringify(templateFilesArray))
); );
} }
@ -264,7 +261,7 @@ function importBookShelf() {
} }
function storeSettings(data, get = false) { function storeSettings(data, get = false) {
let key = sha256("settings_m21_"); let key = sha256("settings_m21_"+activeState.userId);
if (get) { if (get) {
let cdata = ""; let cdata = "";