Added option to use cryptographic salt. Pickle replaced with JSON. Added option to enter key directly.