Package twisted :: Package python :: Module otp :: Class OTP |
[frames | no frames]

## Class OTP

    OTPAuthenticator --+
                       |
                      OTP

An automatic version of the OTP-Authenticator

Updates the sequence and the keeps last approved password on success On the next authentication, the stored password is hashed and checked up against the one given by the user. If they match, the sequencecounter is decreased and the circle is closed.

This object should be glued to each user

Note: It does NOT reset the sequence when the combinations left approach zero, This has to be done manuelly by instancing a new object

Method Summary
| ``__init__`(self, passwd, sequence, hash)` Initialize the OTP-Sequence, and discard the password
| ``authenticate`(self, phrase)` Test the phrase against the last challenge issued
| ``challenge`(self)` Return a challenge string
Inherited from OTPAuthenticator
| ``calculateParity`(self, otp)` Calculate the parity from a 64bit OTP
| ``foldDigest`(self, otp)`
| ``foldDigest128`(self, otp128)` Fold a 128 bit digest to 64 bit
| ``foldDigest160`(self, otp160)` Fold a 160 bit digest to 64 bit
| ``generateOTP`(self, seed, passwd, sequence)` Return a 64 bit OTP based on inputs Run through makeReadable to get a 6 word pass-phrase
| ``generateSeed`(self)` Return a 10 char random seed, with 6 lowercase chars and 4 digits
| ``hashUpdate`(self, digest)` Run through the hash and fold to 64 bit
| ``makeReadable`(self, otp)` Returns a 6 word pass-phrase from a 64bit OTP
| ``parsePhrase`(self, phrase)` Decode the phrase, and return a 64bit OTP I will raise Unauthorized if the parity is wrong TODO: Add support for hex (MUST) and the '2nd scheme'(SHOULD)

Class Variable Summary
`NoneType` | `lastotp` = None
`NoneType` | `seed` = None
`int` | `sequence` = 0

Method Details

### __init__(self, passwd, sequence=1000, hash=<module 'md5' from '/usr/lib/python2.2/lib-dynload/md5.so'>) (Constructor) Initialize the OTP-Sequence, and discard the password Overrides: `twisted.python.otp.OTPAuthenticator.__init__`

### authenticate(self, phrase) Test the phrase against the last challenge issued

### challenge(self) Return a challenge string Overrides: `twisted.python.otp.OTPAuthenticator.challenge`

Class Variable Details

    ### lastotp Type: `NoneType` Value:
        None

    ### seed Type: `NoneType` Value:
        None

    ### sequence Type: `int` Value:
        0

Generated by Epydoc 2.0 on Sat Oct 25 00:55:05 2003 | http://epydoc.sf.net