<?xml version="1.0" encoding="utf-8"?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <title>Android SuperGenPass utility</title>
    <script type="text/javascript">
/*  */
    (function() {
        var s = document.createElement('script'), t = document.getElementsByTagName('script')[0];
        s.type = 'text/javascript';
        s.async = true;
        s.src = 'http://api.flattr.com/js/0.6/load.js?mode=auto';
        t.parentNode.insertBefore(s, t);
    })();
/*  */</script>
  </head>
  <body>
    <h1><img src="res/drawable-mdpi/icon.png" alt="" style="vertical-align: middle"/> Android SuperGenPass utility</h1>
    <p><img src="extra/sgp_qrcode.png" alt="" style="float: left;"/><a style="float:right; padding: 1ex" href="extra/screenshot01.png"><img src="extra/screenshot01.thumb.png"/></a>
        This is an Android implementation of <a href="http://supergenpass.com/">SuperGenPass</a>. SuperGenPass is a different kind of password manager: instead of randomly-generating and storing passwords, it combines a Web site's domain and your master password to generate a unique password for each Web site you visit using a strong cryptographic hash.</p>
    <p>In addition to using the form when you run the app, you can also use the "Share Page" menu item in the Browser application to launch SGP and pre-fill the domain. Go to Menu → More → Share Page.</p>
    <p>This app also includes a strong PIN generation algorithm. It's a slightly modified version of <a href="http://tools.ietf.org/html/rfc4226">RFC4226 HOTP</a> (modified to work with domains instead of numerical counters) and is designed to never generate easily-guessable pins, such as 1234, 0000, 1985, 8675309, or 0007. For more details on how it works, please see the source.</p>
    <h2>Download Binary Release</h2>
    <ul>
      <li>
        <a href="https://play.google.com/store/apps/details?id=info.staticfree.SuperGenPass">Android SuperGenPass on Google Play</a>
      </li>
      <li>
        <a href="SuperGenPass.apk">Android SuperGenPass apk</a>
      </li>
    </ul>
    <p>
      <a style="float:right; padding: 1ex" href="extra/screenshot02.png">
        <img src="extra/screenshot02.thumb.png"/>
      </a>
      <a style="float:right; padding: 1ex" href="extra/screenshot03.png">
        <img src="extra/screenshot03.thumb.png"/>
      </a>
    </p>
    <h3>Recent Changes</h3>
    <ul>
      <li>v2.2.2 - Bugfixes: fixes hardware keyboard focus issue; fixes lockup when generating PIN; fixes editablity of the password output field.</li>
      <li>v2.2.1 - Adds PIN generation; clears passwords on screen off; adds unit tests</li>
      <li>v2.1 - adds salt QR code scanning / generation; parses URLs (thanks Mike Tsao!); cleans up preference screen</li>
      <li>v2.0.1 - fixes screen corruption bug with some 2.x devices</li>
      <li>v2.0 - Major UI changes. New visual hash, Action Bar support, new launcher icon, new way of interacting, more.</li>
    </ul>
    <h2>Source</h2>
    <p>The source for Android SGP is available via the <a href="https://staticfree.info/git/SuperGenPass.git">Android SGP git repository</a>.
    You can grab a copy for yourself by running:</p>
    <pre>
      <code>git clone git://staticfree.info/git/SuperGenPass/</code>
    </pre>
    <h3>License</h3>
    <p>The code is made available under the GPL v3</p>
    <h3>Thanks!</h3>
    <p>
      <a class="FlattrButton" style="display:none;" rev="flattr;button:compact;" href="http://staticfree.info/projects/sgp/"/>
      <noscript>
        <a href="http://flattr.com/thing/633869/Android-SuperGenPass" target="_blank">
          <img src="http://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" border="0"/>
        </a>
      </noscript>
    </p>
    <h3>Contributors</h3>
    <p>Thanks to <a href="http://ebnj.net">Ari Pollak</a> for cleaning up the UI to work better on rotation.</p>
    <p>Thanks to Anthony Miceli for the password salt functionality.</p>
    <p>Thanks to <a href="http://www.sowbug.com/">Mike Tsao</a> for URL parsing.</p>
  </body>
</html>
