ó ń1Mc@s7dZddlZddd„Zd„Zd„ZdS(s} M2Crypto wrapper for OpenSSL BN (BIGNUM) API. Copyright (c) 2005 Open Source Applications Foundation. All rights reserved. i˙˙˙˙NicCstj|||ƒS(sl Generate cryptographically strong random number. @param bits: Length of random number in bits. @param top: If -1, the most significant bit can be 0. If 0, the most significant bit is 1, and if 1, the two most significant bits will be 1. @param bottom: If bottom is true, the number will be odd. (tm2tbn_rand(tbitsttoptbottom((s1/usr/lib/python2.7/vendor-packages/M2Crypto/BN.pytrand s cCs tj|ƒS(s– Generate a random number in a range. @param range: Upper limit for range. @return: A random number in the range [0, range) (Rt bn_rand_range(trange((s1/usr/lib/python2.7/vendor-packages/M2Crypto/BN.pyt rand_rangescCsVd}t|ƒ}g}x.t|ƒD] }||tj|ƒg7}q%Wdj|ƒS(sę Return a random filename, which is simply a string where all the characters are from the set [a-zA-Z0-9]. @param length: Length of filename to return. @type length: int @return: random filename string t?abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890t(tlenRRRtjoin(tlengthtletterst lettersLentfnametx((s1/usr/lib/python2.7/vendor-packages/M2Crypto/BN.pyt randfname s  (t__doc__RRRR(((s1/usr/lib/python2.7/vendor-packages/M2Crypto/BN.pyts