def shaDigest(filepath): BUF = 8192 sha = sha1() shaFile = file(filepath, 'rb', BUF) for line in iter(lambda: shaFile.read(BUF), ""): sha.update(line) shaFile.close() return b2a_base64(sha.digest())[:-1]
def make_secret(password): """ Encodes the given password as a base64 SSHA hash+salt buffer """ salt = os.urandom(4) # hash the password and append the salt sha = hashlib.sha1(password) sha.update(salt) # create a base64 encoded string of the concatenated digest + salt digest_salt_b64 = '{}{}'.format(sha.digest(), salt).encode('base64').strip() # now tag the digest above with the {SSHA} tag tagged_digest_salt = '{{SSHA}}{}'.format(digest_salt_b64) return tagged_digest_salt
def shaDigestString(line): sha = sha1() sha.update(line) return b2a_base64(sha.digest())[:-1]