Source code for pycrypt.keygenerators.numberkeygenerator

from keygenerator import *
from ..translators.numberedalphabettranslator import *
import random

[docs]class NumberKeyGenerator(KeyGenerator): def __init__(self, max_number=26, rand_func=lambda x: x ** 6, **kwargs): """To be used with CaesarTranslator""" KeyGenerator.__init__(self, **kwargs) self.max_number = max_number self.randFunc = rand_func
[docs] def getRandomKey(self): return random.randint(0, self.max_number - 1)
[docs] def getAllKeys(self): return xrange(self.max_number)
[docs] def mutateKey(self, key): """Change randFunc for different transformation number after random.random""" return (key + int(self.randFunc(random.random() + 1))) % self.max_number