Mercurial > p > roundup > code
diff roundup/password.py @ 6146:01e9634b81a4
fixed string encoding of SSHA encoded passwords in Python 3
| author | Christof Meerwald <cmeerw@cmeerw.org> |
|---|---|
| date | Sun, 12 Apr 2020 21:02:57 +0100 |
| parents | e27a240430b8 |
| children | 120b0bb05b6e |
line wrap: on
line diff
--- a/roundup/password.py Mon Apr 06 11:23:08 2020 -0400 +++ b/roundup/password.py Sun Apr 12 21:02:57 2020 +0100 @@ -114,7 +114,7 @@ ''' shaval = sha1(password) # nosec shaval.update(salt) - ssha_digest = b64encode(shaval.digest() + salt).strip() + ssha_digest = b2s(b64encode(shaval.digest() + salt).strip()) return ssha_digest @@ -359,6 +359,8 @@ def test(): # SHA p = Password('sekrit') + assert Password(encrypted=str(p)) == 'sekrit' + assert 'sekrit' == Password(encrypted=str(p)) assert p == 'sekrit' assert p != 'not sekrit' assert 'sekrit' == p @@ -366,6 +368,8 @@ # MD5 p = Password('sekrit', 'MD5') + assert Password(encrypted=str(p)) == 'sekrit' + assert 'sekrit' == Password(encrypted=str(p)) assert p == 'sekrit' assert p != 'not sekrit' assert 'sekrit' == p @@ -374,6 +378,8 @@ # crypt if crypt: # not available on Windows p = Password('sekrit', 'crypt') + assert Password(encrypted=str(p)) == 'sekrit' + assert 'sekrit' == Password(encrypted=str(p)) assert p == 'sekrit' assert p != 'not sekrit' assert 'sekrit' == p @@ -381,6 +387,8 @@ # SSHA p = Password('sekrit', 'SSHA') + assert Password(encrypted=str(p)) == 'sekrit' + assert 'sekrit' == Password(encrypted=str(p)) assert p == 'sekrit' assert p != 'not sekrit' assert 'sekrit' == p @@ -397,6 +405,8 @@ # PBKDF2 - high level integration p = Password('sekrit', 'PBKDF2') + assert Password(encrypted=str(p)) == 'sekrit' + assert 'sekrit' == Password(encrypted=str(p)) assert p == 'sekrit' assert p != 'not sekrit' assert 'sekrit' == p
