ó
ń1Mc           @   s7   d  Z  d d l Z d d d  Z d   Z d   Z d S(   s}   
M2Crypto wrapper for OpenSSL BN (BIGNUM) API.

Copyright (c) 2005 Open Source Applications Foundation. All rights reserved.
i˙˙˙˙Ni    c         C   s   t  j |  | |  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.
    (   t   m2t   bn_rand(   t   bitst   topt   bottom(    (    s1   /usr/lib64/python2.7/site-packages/M2Crypto/BN.pyt   rand	   s    
c         C   s   t  j |   S(   s   
    Generate a random number in a range.
    
    @param range: Upper limit for range.
    @return:      A random number in the range [0, range)
    (   R    t   bn_rand_range(   t   range(    (    s1   /usr/lib64/python2.7/site-packages/M2Crypto/BN.pyt
   rand_range   s    c         C   sV   d } t  |  } g  } x. t |   D]  } | | t j |  g 7} q% Wd j |  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    (   t   lenR   R    R   t   join(   t   lengtht   letterst
   lettersLent   fnamet   x(    (    s1   /usr/lib64/python2.7/site-packages/M2Crypto/BN.pyt	   randfname    s    	(   t   __doc__R    R   R   R   (    (    (    s1   /usr/lib64/python2.7/site-packages/M2Crypto/BN.pyt   <module>   s   	
