add delayed_select() (chrome workaround); also calculate old version of passy (not "passfied"); minor comment cleanup
This commit is contained in:
1 parent
1050fa4d8d
commit
02b8e3f150
2 files changed
+22
-5
No files matched your search
+16
-4
@@ -3,11 +3,18 @@
|
|||||||
<script type='text/javascript' src='passy.js'></script>
|
<script type='text/javascript' src='passy.js'></script>
|
||||||
<script type='text/javascript'>
|
<script type='text/javascript'>
|
||||||
var password_timer=0;
|
var password_timer=0;
|
||||||
|
function delayed_select(target)
|
||||||
|
{
|
||||||
|
// hack to wait for onmouseup event to pass
|
||||||
|
setTimeout(function(){target.select()},5); // 5ms
|
||||||
|
}
|
||||||
function ClearPassword()
|
function ClearPassword()
|
||||||
{
|
{
|
||||||
// clear password field and force an update
|
// clear password field and set focus so we're ready to receive password again
|
||||||
document.getElementById('password').value = "";
|
document.getElementById('password').value = "";
|
||||||
document.getElementById('password').focus();
|
document.getElementById('password').focus();
|
||||||
|
|
||||||
|
// force an update to clear the generated password (result) field as well
|
||||||
UpdatePassy();
|
UpdatePassy();
|
||||||
}
|
}
|
||||||
function UpdatePassy()
|
function UpdatePassy()
|
||||||
@@ -18,10 +25,12 @@
|
|||||||
if ( site == "" || password == "" )
|
if ( site == "" || password == "" )
|
||||||
{
|
{
|
||||||
document.getElementById('result').value = "";
|
document.getElementById('result').value = "";
|
||||||
|
document.getElementById('result_old').value = "";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
document.getElementById('result').value = passy(site,password)[0];
|
document.getElementById('result').value = passy(site,password)[0];
|
||||||
|
document.getElementById('result_old').value = passy(site,password)[4];
|
||||||
}
|
}
|
||||||
|
|
||||||
// set timer to clear password field after a minute
|
// set timer to clear password field after a minute
|
||||||
@@ -36,12 +45,15 @@
|
|||||||
<body>
|
<body>
|
||||||
<form>
|
<form>
|
||||||
Site Name:<br/>
|
Site Name:<br/>
|
||||||
<input type='text' id='site' onkeydown='UpdatePassy()' onkeyup='UpdatePassy()' onchange='UpdatePassy()'><br/>
|
<input type='text' id='site' onkeyup='UpdatePassy()'><br/>
|
||||||
Secret Passphrase:<br/>
|
Secret Passphrase:<br/>
|
||||||
<input type='password' id='password' onkeydown='UpdatePassy()' onkeyup='UpdatePassy()' onchange='UpdatePassy()'><br/>
|
<input type='password' id='password' onkeyup='UpdatePassy()'><br/>
|
||||||
<hr/>
|
<hr/>
|
||||||
Site Password:<br/>
|
Site Password:<br/>
|
||||||
<input type='text' id='result' readonly onfocus='this.select()' onclick='this.select()' ondblclick='this.select()'>
|
<input type='text' id='result' readonly onfocus='delayed_select(this)'>
|
||||||
|
<br/>
|
||||||
|
Site Password (old version):<br/>
|
||||||
|
<input type='text' id='result_old' readonly onfocus='delayed_select(this)'>
|
||||||
</form>
|
</form>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@@ -99,9 +99,14 @@ var passy = function(text,secret)
|
|||||||
var hmac = new jsSHA(text.toLowerCase(), "ASCII").getHMAC(secret, "ASCII", "HEX");
|
var hmac = new jsSHA(text.toLowerCase(), "ASCII").getHMAC(secret, "ASCII", "HEX");
|
||||||
|
|
||||||
// split into four 10 character strings and "passify", and return the array
|
// split into four 10 character strings and "passify", and return the array
|
||||||
|
// include the unpassified versions afterward
|
||||||
return [
|
return [
|
||||||
passify(hmac.slice( 0,10)),
|
passify(hmac.slice( 0,10)),
|
||||||
passify(hmac.slice(10,20)),
|
passify(hmac.slice(10,20)),
|
||||||
passify(hmac.slice(20,30)),
|
passify(hmac.slice(20,30)),
|
||||||
passify(hmac.slice(30,40))];
|
passify(hmac.slice(30,40)),
|
||||||
|
hmac.slice( 0,10),
|
||||||
|
hmac.slice(10,20),
|
||||||
|
hmac.slice(20,30),
|
||||||
|
hmac.slice(30,40)];
|
||||||
}
|
}
|
||||||
Reference in new issue
Block a user