Skip to content
Snippets Groups Projects
Commit fdb61907 authored by RationalCoding's avatar RationalCoding
Browse files

generate salt in browser action

parent dc224b87
No related branches found
No related tags found
1 merge request!7Fixes
...@@ -8,6 +8,14 @@ ...@@ -8,6 +8,14 @@
chrome.tabs.onUpdated.addListener(tabChanged.bind(this)) chrome.tabs.onUpdated.addListener(tabChanged.bind(this))
chrome.tabs.onCreated.addListener(tabChanged.bind(this)) chrome.tabs.onCreated.addListener(tabChanged.bind(this))
// get or generate salt
var salt = JSON.parse(window.localStorage.getItem('salt') || 'null')
if (!salt) {
salt = Array.from(window.crypto.getRandomValues(new Uint8Array(256))) // 2048 bits!
window.localStorage.setItem('salt', JSON.stringify(salt))
}
console.log(salt)
function tabChanged (tab) { function tabChanged (tab) {
chrome.tabs.getSelected(null, function (tab) { chrome.tabs.getSelected(null, function (tab) {
...@@ -56,13 +64,14 @@ ...@@ -56,13 +64,14 @@
infoView() infoView()
passField.addEventListener('keyup', generate.bind(this)) passField.addEventListener('keyup', generate.bind(this))
domain.addEventListener('keyup', generate.bind(this)) domainField.addEventListener('keyup', generate.bind(this))
function generate () { function generate () {
var masterPassword = document.getElementById('master').value var masterPassword = document.getElementById('master').value
var output = document.getElementById('output') var output = document.getElementById('output')
var p = new PretzelPass() var p = new PretzelPass()
p.setSalt(salt)
p.setOptions(JSON.parse(localStorage['options' + domain] || localStorage['options'] || '{}')) p.setOptions(JSON.parse(localStorage['options' + domain] || localStorage['options'] || '{}'))
var generatedPassword = p.generatePassword(masterPassword, domain) var generatedPassword = p.generatePassword(masterPassword, domain)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment