[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