1. A method comprising: receiving, at a mobile computing device, a short secret and a long password; compressing the long password with an entropy encoding algorithm, where the entropy encoding algorithm comprises a compression algorithm such that a different table is used for each character in the long password and each table recites a probability that specific characters appear in passwords; encrypting the compressed long password with the short secret as a key; and storing the compressed and encrypted long password.