Package openid :: Module cryptutil
[frames] | no frames]

Module cryptutil

source code

Module containing a cryptographic-quality source of randomness and other cryptographically useful functionality

Python 2.4 needs no external support for this module, nor does Python 2.3 on a system with /dev/urandom.

Other configurations will need a quality source of random bytes and access to a function that will convert binary strings to long integers. This module will work with the Python Cryptography Toolkit (pycrypto) if it is present. pycrypto can be found with a search engine, but is currently found at:

http://www.amk.ca/python/code/crypto

Functions
 
hmacSha1(key, text) source code
 
sha1(s) source code
 
hmacSha256(key, text) source code
 
sha256(s) source code
 
longToBinary(l) source code
 
binaryToLong(s) source code
 
randrange(start, stop=None, step=1, int=<type 'int'>, default=None, maxwidth=9007199254740992)
Choose a random item from range(start, stop[, step]).
 
longToBase64(l) source code
 
base64ToLong(s) source code
 
randomString(length, chrs=None)
Produce a string of length random bytes, chosen from chrs.
source code
Function Details

randrange(start, stop=None, step=1, int=<type 'int'>, default=None, maxwidth=9007199254740992)

 

Choose a random item from range(start, stop[, step]).

This fixes the problem with randint() which includes the endpoint; in Python this is usually not what you want. Do not supply the 'int', 'default', and 'maxwidth' arguments.