Caitsith, thanks for pointing that out, I hadn't thought of that! KeyGenius now removes the maxlength attribute from any password field.
What's more, I've implemented the prefix stuff, so you can store passwords from the site you wish to log in to. By entering a specific prefix before generating the OTP, KeyGenius acts as follows:
Prefix, function
none Queries the server for a stored password for the domain, if found the field contents is replaced and the form is submitted.
- Same as none, but does NOT submit the form.
+ Opens a dialog to store a custom password for the current domain. Once stored, the password field is populated with the new password but the form is NOT submitted.
= Removes the prefix and submits the form with the generated OTP, without querying the server.
+<1-99> Generates and stores a random alphanumeric password of given length for the current domain. Once stored, the password field is populated with the new generated password, but the form is NOT submitted. For example, "+20<OTP>" would generate a 20 character password.
+++ Alias for +16. The number 16 can be modified in the source of the UserScript by changing the "default_len" variable.
Personally, I think this makes KeyGenius much more useful, and it's a pretty nifty addition if I do say so myself
When registering for a new site, you could use +++ for the first password field, then to confirm the password, you use - (or just the OTP if you don't mind submitting the form). The = probably isn't needed, you could save yourself the roundtrip time of querying the KeyGenius server for a stored password if you want to log in to for example this forum.
The randomly generated passwords can contain a-z, A-Z and 0-9. For extra entropy, I'm throwing in the changing part of the OTP as added "randomness" to the seed function. Does anyone see any reason not to do this?
Let me know what you think of the changes!
Oh, and Iipee, I'm not entirely sure what you mean. I was thinking of basically generalizing the KeyGenius backend to allow storing pretty much any key -> value pair instead of url -> password, and throwing in some other stuff, like administering read/write access to other YubiKeys than just your own. I doubt I'll have enough spare time for a while to realize this, but if I do get to it I'd make a nice API for accessing the functionality and open source the project. I wasn't thinking of a local storage thing, this would be accessed through the web. If we're lucky, maybe even Yubico would run a server as to minimize the number of parties you have to trust.