Hardware, Handheld Password Manager
I've decided to allow the user to choose between a pin code and a password. 

/*
 * Various authentication types are possible within SneakerPass.
 * 
 * For now, I've only implemented PIN (pin codes) and PWD (passwords). Here's how they work:
 * 
 * PIN:
 *    For a pin code, the user will enter a pin that can include only what is on the keypad.
 *    THIS HAS LOW SECURITY! On a 4x4 keypad with 0-9 and A-D, that's only 14 possible keys.
 *    You'd need a 20+ digit pin code to have the same security as a 9-character password.
 *    ONLY USE IF:
 *      1) You know the implications of using reduced-keyspaces pin codes
 *      2) You can quickly remove the SD card from the SneakerPass hardware (for destruction, ingestion, etc)
 *      3) You need the speed of a pin code and reduced security.
 *     
 *    Instructions:
 *      When the device is powered on, you will be asked to enter the pin code. Each key
 *      press will yield exactly one key. If you make a mistake, use '*' to erase the 
 *      previous value and re-enter it. When you're finished, press '#'. If it is correct,
 *      you will enter the SneakerPass menu.
 *      
 *
 * PWD:
 *    This is the preferable solution. It definiely takes more time to enter a password
 *    like you're typing a text prior to the invenion of T9. However, the keyspace is greatly
 *    expanded to include uppercase/lowercase numbers, all 10 digits, and 14 symbols.
 *    Below describes what each character maps to. You must keep selecting the same key 
 *    to iterate through the values. If you are idle for 1 second, or if you select a 
 *    different key, that value will be submitted.
 *    
 *    KEY     NORMAL      SHIFT
 *    1       abc1        ABC!
 *    2       def2        DEF@
 *    3       ghi3        GHI#
 *    4       jkl4        JKL$
 *    5       mno5        MNO%
 *    6       pqr6        PQR^
 *    7       stu7        STU&amp;
 *    8       vwx8        VWX*
 *    9       yz9         YZ(
 *    0       0-=         )_+
 *    
 *    WARNING: IF YOU ARE USING A 3x3 PIN PAD, YOUR KEYSPACE
 *    WILLE NOT CONTAIN THESE CHARACTERS!!!
 *    A       []\         {}|
 *    B       ;'          :"
 *    C       ,./         &lt;&gt;?
 *    D       `           ~
 *    
 *    *       [ TOGGLE SHIFT ]
 *    #       [ SUBMIT/ENTER ]
 */