We can generate a prime number based on a string:
String to prime |
Method
The method defined by libnum is [here]:
def generate_prime_from_string(s, size=None, k=25): """ Generate a pseudo-prime starting with s in string representation. Optional arg size defines length in bits, if is not set than +some bytes. Optional arg k=25 defines number of tests. """ if not size: if len(s) > 512: size = len(s) * 8 + 32 else: size = len(s) * 8 + 16 if len(s) * 8 >= size: raise ValueError("given size is smaller than string length") if size % 8: raise ValueError("size must be 8*n") extend_len = size - len(s) * 8 visible_part = s2n(s) << extend_len hi = 2 ** extend_len while True: n = visible_part | random.randint(1, hi) | 1 # only even if gcd(_small_primes_product, n) != 1: continue if prime_test(n, k): return n return
The code used is simply:
import sys from libnum import generate_prime_from_string st="bill" if (len(sys.argv)>1): st=(sys.argv[1]) print (generate_prime_from_string(st))