Part of twisted.python.otp View Source View In Hierarchy
Known subclasses: twisted.python.otp.OTP
A One Time Password System
Based on RFC 2289, which is based on a the S/KEY Authentication-scheme. It uses the MD5- and SHA-algorithms for hashing
The variable OTP is at all times a 64bit string.Instance Variables | hash | An object which can be used to compute hashes. This is either
md5 or sha1 .
|
Method | __init__ | Set the hash to either md5 or sha1 |
Method | generateSeed | Return a 10 char random seed, with 6 lowercase chars and 4 digits |
Method | foldDigest | Undocumented |
Method | foldDigest128 | Fold a 128 bit digest to 64 bit |
Method | foldDigest160 | Fold a 160 bit digest to 64 bit |
Method | hashUpdate | Run through the hash and fold to 64 bit |
Method | generateOTP | Return a 64 bit OTP based on inputs Run through makeReadable to get a 6 word pass-phrase |
Method | calculateParity | Calculate the parity from a 64bit OTP |
Method | makeReadable | Returns a 6 word pass-phrase from a 64bit OTP |
Method | challenge | Return a challenge in the format otp-<hash> <sequence> <seed> |
Method | parsePhrase | 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) |