Skip to content

Instantly share code, notes, and snippets.

@garrettreid
Created January 9, 2014 05:26
Show Gist options
  • Select an option

  • Save garrettreid/8329796 to your computer and use it in GitHub Desktop.

Select an option

Save garrettreid/8329796 to your computer and use it in GitHub Desktop.

Revisions

  1. garrettreid created this gist Jan 9, 2014.
    28 changes: 28 additions & 0 deletions SSHA512_gen.py
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,28 @@
    #!/usr/bin/python

    import os
    import hashlib
    import getpass
    import base64

    password1 = None
    password2 = None

    # Read the password
    while password1 != password2 or password1 == None:
    password1 = getpass.getpass()
    password2 = getpass.getpass("Confirm password: ")
    if (password1 != password2):
    print "\nPassword mismatch, try again."

    # Generate a 5 byte random salt
    salt = os.urandom(5)

    # Hash our password + salt
    sha = hashlib.sha512()
    sha.update(password1)
    sha.update(salt)
    ssha512 = base64.b64encode('{}{}'.format(sha.digest(), salt))

    # Print it out with a prefix for Dovecot
    print "\n{{SSHA512}}{}".format(ssha512)