[Checkins] SVN: zope.password/trunk/ Rename storedPassword argument to encoded_password to avoid confusion.
Dan Korostelev
nadako at gmail.com
Fri Mar 6 07:01:46 EST 2009
Log message for revision 97562:
Rename storedPassword argument to encoded_password to avoid confusion.
Add missing security declaration for SSHAPasswordManager.
Changed:
U zope.password/trunk/README.txt
U zope.password/trunk/src/zope/password/configure.zcml
U zope.password/trunk/src/zope/password/interfaces.py
U zope.password/trunk/src/zope/password/password.py
-=-
Modified: zope.password/trunk/README.txt
===================================================================
--- zope.password/trunk/README.txt 2009-03-06 11:52:55 UTC (rev 97561)
+++ zope.password/trunk/README.txt 2009-03-06 12:01:46 UTC (rev 97562)
@@ -30,9 +30,10 @@
-----
It's very easy to use password managers. The ``zope.password.interfaces.IPasswordManager``
-interface defines only two methods:
+interface defines only two methods::
- * encodePassword(password) - return encoded data for the given `password`
- * checkPassword(storedPassword, password) - return whether the given `password`
- coincide with the storedPassword, which is
-
\ No newline at end of file
+ def encodePassword(password):
+ """Return encoded data for the password."""
+
+ def checkPassword(encoded_password, password):
+ """Return whether the password coincide with the encoded data."""
Modified: zope.password/trunk/src/zope/password/configure.zcml
===================================================================
--- zope.password/trunk/src/zope/password/configure.zcml 2009-03-06 11:52:55 UTC (rev 97561)
+++ zope.password/trunk/src/zope/password/configure.zcml 2009-03-06 12:01:46 UTC (rev 97562)
@@ -30,6 +30,10 @@
factory=".password.SHA1PasswordManager"
/>
+ <class class=".password.SSHAPasswordManager">
+ <allow interface=".interfaces.IPasswordManager" />
+ </class>
+
<utility
name="SSHA"
provides=".interfaces.IPasswordManager"
Modified: zope.password/trunk/src/zope/password/interfaces.py
===================================================================
--- zope.password/trunk/src/zope/password/interfaces.py 2009-03-06 11:52:55 UTC (rev 97561)
+++ zope.password/trunk/src/zope/password/interfaces.py 2009-03-06 12:01:46 UTC (rev 97562)
@@ -23,5 +23,5 @@
def encodePassword(password):
"""Return encoded data for the password."""
- def checkPassword(storedPassword, password):
- """Return whether the password coincide with the storedPassword."""
+ def checkPassword(encoded_password, password):
+ """Return whether the password coincide with the encoded data."""
Modified: zope.password/trunk/src/zope/password/password.py
===================================================================
--- zope.password/trunk/src/zope/password/password.py 2009-03-06 11:52:55 UTC (rev 97561)
+++ zope.password/trunk/src/zope/password/password.py 2009-03-06 12:01:46 UTC (rev 97562)
@@ -59,8 +59,8 @@
def encodePassword(self, password):
return password
- def checkPassword(self, storedPassword, password):
- return storedPassword == self.encodePassword(password)
+ def checkPassword(self, encoded_password, password):
+ return encoded_password == self.encodePassword(password)
class SSHAPasswordManager(PlainTextPasswordManager):
@@ -123,10 +123,10 @@
return '{SSHA}' + urlsafe_b64encode(
hash.digest() + salt)
- def checkPassword(self, storedPassword, password):
- byte_string = urlsafe_b64decode(storedPassword[6:])
+ def checkPassword(self, encoded_password, password):
+ byte_string = urlsafe_b64decode(encoded_password[6:])
salt = byte_string[20:]
- return storedPassword == self.encodePassword(password, salt)
+ return encoded_password == self.encodePassword(password, salt)
class MD5PasswordManager(PlainTextPasswordManager):
@@ -169,12 +169,12 @@
salt = "%08x" % randint(0, 0xffffffff)
return '{MD5}%s%s' % (salt, md5(_encoder(password)[0]).hexdigest())
- def checkPassword(self, storedPassword, password):
- if storedPassword.startswith('{MD5}'):
- salt = storedPassword[5:-32]
- return storedPassword == self.encodePassword(password, salt)
- salt = storedPassword[:-32]
- return storedPassword == self.encodePassword(password, salt)[5:]
+ def checkPassword(self, encoded_password, password):
+ if encoded_password.startswith('{MD5}'):
+ salt = encoded_password[5:-32]
+ return encoded_password == self.encodePassword(password, salt)
+ salt = encoded_password[:-32]
+ return encoded_password == self.encodePassword(password, salt)[5:]
class SHA1PasswordManager(PlainTextPasswordManager):
@@ -217,9 +217,9 @@
salt = "%08x" % randint(0, 0xffffffff)
return '{SHA1}%s%s' % (salt, sha1(_encoder(password)[0]).hexdigest())
- def checkPassword(self, storedPassword, password):
- if storedPassword.startswith('{SHA1}'):
- salt = storedPassword[6:-40]
- return storedPassword == self.encodePassword(password, salt)
- salt = storedPassword[:-40]
- return storedPassword == self.encodePassword(password, salt)[6:]
+ def checkPassword(self, encoded_password, password):
+ if encoded_password.startswith('{SHA1}'):
+ salt = encoded_password[6:-40]
+ return encoded_password == self.encodePassword(password, salt)
+ salt = encoded_password[:-40]
+ return encoded_password == self.encodePassword(password, salt)[6:]
More information about the Checkins
mailing list