Обнаружение хеш-коллизии в Python
Я вычислил 16 наборов из 3 случайных простых чисел в этом скрипте и теперь пытаюсь найти столкновение XOR, например запустить цикл из 3 случайных простых чисел, пока он не совпадет со значением XOR любого из вышеперечисленных 16 наборов. Как найти коллизию XOR, продолжает выбирать 3 набора составных чисел меньше 256 из данного скрипта Python?
#importing random library
import random
#defining function for first random prime
def primesInRange(x, y):
prime_list1 = []
for n in range(x, y):
isPrime = True
for num in range(2, n):
if n % num == 0:
isPrime = False
if isPrime:
prime_list1.append(n)
return prime_list
#defining function for second random prime
prime_list2 = []
for n in range(x, y):
isPrime = True
for num in range(2, n):
if n % num == 0:
isPrime = False
if isPrime:
prime_list2.append(n)
return prime_list2
#defining function for third random prime
prime_list3 = []
for n in range(x, y):
isPrime = True
for num in range(2, n):
if n % num == 0:
isPrime = False
if isPrime:
prime_list3.append(n)
return prime_list3
print('16 valid Prime Numbers from 1 to 256:')
#defining for loop to make a print 16 set of 3 random prime numbers.
for line in range (16):
prime_list1 = primesInRange(1,256)
randomPrime1 = random.choice(prime_list1)
prime_list2 = primesInRange(1,256)
randomPrime2 = random.choice(prime_list2)
prime_list3 = primesInRange(1,256)
randomPrime3 = random.choice(prime_list3)
xor = randomPrime1 ^ randomPrime2 ^ randomPrime3
#print((randomPrime1), (randomPrime2), (randomPrime3), ('||XOR='), (randomPrime1 ^
randomPrime2 ^ randomPrime3))
print((randomPrime1), (randomPrime2), (randomPrime3), ('||XOR='), (xor))