symbian-qemu-0.9.1-12/python-2.6.1/Demo/pdist/security.py
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 class Security:
       
     2 
       
     3     def __init__(self):
       
     4         import os
       
     5         env = os.environ
       
     6         if env.has_key('PYTHON_KEYFILE'):
       
     7             keyfile = env['PYTHON_KEYFILE']
       
     8         else:
       
     9             keyfile = '.python_keyfile'
       
    10             if env.has_key('HOME'):
       
    11                 keyfile = os.path.join(env['HOME'], keyfile)
       
    12             if not os.path.exists(keyfile):
       
    13                 import sys
       
    14                 for dir in sys.path:
       
    15                     kf = os.path.join(dir, keyfile)
       
    16                     if os.path.exists(kf):
       
    17                         keyfile = kf
       
    18                         break
       
    19         try:
       
    20             self._key = eval(open(keyfile).readline())
       
    21         except IOError:
       
    22             raise IOError, "python keyfile %s: cannot open" % keyfile
       
    23 
       
    24     def _generate_challenge(self):
       
    25         import random
       
    26         return random.randint(100, 100000)
       
    27 
       
    28     def _compare_challenge_response(self, challenge, response):
       
    29         return self._encode_challenge(challenge) == response
       
    30 
       
    31     def _encode_challenge(self, challenge):
       
    32         p, m = self._key
       
    33         return pow(long(challenge), p, m)