def create_image_pw(path, user_id): l = LCG(user_id) buf = b"" for _ in range(128): buf += l.next().to_bytes(16, "big") im = Image.frombytes("1", (128, 128), buf) im.save(joinp(path, "{}.bmp".format(user_id))) return l.next()
def do_login(): user_id = int(request.form.get("user_id")) pw = int(request.form.get("pw")) lcg = LCG(user_id) for _ in range(128): lcg.next() if lcg.next() == pw: msg = "Login Successful<br/>" session['user_id'] = user_id else: msg = "Wrong credentials!" return render_template(TEMPL_PATH, title="Login!", content=msg)
def generate_source(self, seed, sourceLength): source = [] rng = LCG(seed) for i in range(sourceLength): unit_nr = rng.next() % len(self.units) unit = copy.deepcopy(self.units[unit_nr]) source.append(unit) return source
import matplotlib.pyplot as plt from scipy.stats import chisquare from lcg import LCG from bbs import BBS from ansix917 import ANSIX917 if __name__ == "__main__": rnd_gen = LCG(m=31, a=13, c=0, x0=12) # rnd_gen = BBS(p=383, q=503, s=101355) # k1 = '0110110101101111011011100110000101110010011000110110100001111001' # k2 = '0100011010000111111011011010011001100101101001001100011011110100' # rnd_gen = ANSIX917(v0=1, k1=k1, k2=k2) num_category = 10 f_obs = dict() for i in range(num_category): f_obs[i] = 0 for i in range(1, 1001): x_n = rnd_gen.next() f_obs[x_n % num_category] += 1 f_obs = list(f_obs.values()) print(chisquare(f_obs))