我正在为我的一个班做一个项目。教授让我们在不使用密码库的情况下制作一个RSA加密/解密程序(都是从头开始的)。所以我得到了p,q,n,phi,e,d,一切都很好。我遇到的问题是试图加密它。我使用每个字符的ASCII规则并使用e和n进行加密。但是,我返回的数字远远超出了转换回ASCII字符的范围。我怎样才能把这个数字改成一个字符,以后还能用我的私钥解密呢?以下是我目前为止的大致代码:import random
def generatePrimes():
prime = False
while prime == False:
n = random.randint(10000, 100000) #generates random integer between 10,000 and 100,000
if n % 2 != 0: #checks if integer is divisible by 2
for x in range(3, int(n ** 0.5), 2): #starts at 3, increments by 2 to check if integer is divisible by anything
if n % x == 0:
break #if integer divides a number x and has no remainder, it isn't prime and the loop breaks
else:
prime = True #a prime number is found
return n #returns prime number
def findE(n, pn):
factor = True
<