You now own your data. Backup/Restore use cleartext json.

This commit is contained in:
ultra
2013-06-22 22:01:00 -04:00
parent edba5605d1
commit df5b48a748
2 changed files with 40 additions and 10 deletions

View File

@@ -3,6 +3,10 @@
font-family: monospace;
}
#backupText {
width: 100%;
}
#title {
width: 100%;
}

View File

@@ -209,21 +209,31 @@
}
function restoreKVS() {
var data = prompt("Please enter backup blob");
var data = prompt("Please enter backup blob (any already existing pads will be overwritten!)");
var d = JSON.parse(data)
for (var k in d) {
setKVSItem(k, d[k]);
}
key = $("#password").val();
getKVSItem(hashSomething("pads"),padsLoaded);
for (var k in d) {
setKVSItem(hashTitle(k), sjcl.encrypt(key, d[k], {iter: 2000, ks: 256}));
if ($.inArray(k, pads) == -1) {
pads.push(k);
addPadList(k);
}
}
savePads();
}
function doBackup() {
backup = new Object();
backupWaiting = 1 + pads.length;
backupKVS(hashSomething("pads"));
backupWaiting = pads.length;
for (var pad in pads) {
backupKVS(hashTitle(pads[pad]));
getKVSItem(hashTitle(pads[pad]), function(data) {
backup[pads[pad]] = sjcl.decrypt(key, data);
backupWaiting--;
if (backupWaiting == 0) {
$("#backupDlg").modal();
$("#backupText").val(JSON.stringify(backup))
}
});
}
}
@@ -295,6 +305,9 @@
// set up buttons
$("#backupCloseBtn").click(function () {
$("#backupDlg").modal("hide")
})
$("#backuper").click(doBackup);
$("#restorer").click(restoreKVS);
$("#submitter").click(saveNote);
@@ -310,7 +323,20 @@
$(document).ready(init);
</script>
</head>
<body>
<body>
<div class="modal hide" id="backupDlg">
<div class="modal-header">
<h3>Backup</h3>
</div>
<div class="modal-body">
<textarea rows="10" id="backupText">
</textarea>
</div>
<div class="modal-footer">
<button id="backupCloseBtn" class="btn btn-primary">Done</button>
</div>
</div>
<div class="modal" id="myModal">
<div class="modal-header">
<h3>Login to CryptoPad</h3>