mirror of
https://github.com/Mikaela/Limnoria.git
synced 2024-11-23 11:09:23 +01:00
Added a saltHash function.
This commit is contained in:
parent
80deb23897
commit
b63f2170e8
11
src/utils.py
11
src/utils.py
@ -39,6 +39,8 @@ import fix
|
|||||||
|
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
|
import md5
|
||||||
|
import sha
|
||||||
import string
|
import string
|
||||||
import sgmllib
|
import sgmllib
|
||||||
import textwrap
|
import textwrap
|
||||||
@ -403,6 +405,15 @@ def flatten(seq, strings=False):
|
|||||||
except TypeError:
|
except TypeError:
|
||||||
yield elt
|
yield elt
|
||||||
|
|
||||||
|
def saltHash(password, salt=None, hash='sha'):
|
||||||
|
if salt is None:
|
||||||
|
salt = mktemp()[:8]
|
||||||
|
if hash == 'md5':
|
||||||
|
hasher = md5.md5
|
||||||
|
elif hash == 'sha':
|
||||||
|
hasher = sha.sha
|
||||||
|
return salt + hasher(salt + password).hexdigest()
|
||||||
|
|
||||||
class IterableMap(object):
|
class IterableMap(object):
|
||||||
"""Define .iteritems() in a class and subclass this to get the other iters.
|
"""Define .iteritems() in a class and subclass this to get the other iters.
|
||||||
"""
|
"""
|
||||||
|
@ -275,6 +275,10 @@ class UtilsTest(unittest.TestCase):
|
|||||||
self.failUnless(len(f('x'*35, 30)) <= 30)
|
self.failUnless(len(f('x'*35, 30)) <= 30)
|
||||||
self.failUnless(f(' '.join(['xxxx']*10), 30)[:-3].endswith('xxxx'))
|
self.failUnless(f(' '.join(['xxxx']*10), 30)[:-3].endswith('xxxx'))
|
||||||
|
|
||||||
|
def testSaltHash(self):
|
||||||
|
s = utils.saltHash('jemfinch')
|
||||||
|
self.assertEqual(utils.saltHash('jemfinch', salt=s[:8]), s)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user