在 Python 中使用 RSA 代码中的用户输入
Using user input in RSA code in Python
我是 python 和编程以及所有这些方面的新手,但我有一个使用编程的项目(因为我对此很感兴趣:))
在这个项目中,我和我的搭档希望有人在代码中输入他们的消息(当然不是在 python 文件中),之后,消息会被加密,你会得到私钥和 public 密钥(在 RSA 中)。
我们可以使用他人的作品,只要我们解释为什么或如何工作。我已经找到了一个关于 RSA 的很好的代码,但是它缺少一种用户输入的方式。代码可以在这里找到:http://code.activestate.com/recipes/578797-public-key-encryption-rsa/.
现在我想问一下:
如何将消息(在代码中显示为 msg: )更改为用户可以输入内容的内容?
我已经尝试过使用输入命令,但似乎没有用。
之后,我们希望程序给用户他们的 public 和私钥,可以将其放回程序中以获取原始文本。
我们真的不知道我们怎么能这样写,所以我们认为我们应该问一下!
提前致谢:)
顺便说一句,我们正在使用 python 3.5!
您只需修改这些行(根据您的示例):
def main():
import doctest
print(doctest.testmod())
pubkey, privkey = keygen(2 ** 64)
msg = u'the quick brown fox jumped over the lazy dog ® ⌀'
h = encode(msg, pubkey, True)
p = decode(h, privkey, True)
print('-' * 20)
print('message:', msg)
print('encoded:', b64encode(h).decode())
print('decoded:', p)
print('private key:', key_to_str(privkey))
print('public key:', key_to_str(pubkey))
到
def main():
import doctest
print(doctest.testmod())
pubkey, privkey = keygen(2 ** 64)
msg = input('Please type your message: ')
h = encode(msg, pubkey, True)
p = decode(h, privkey, True)
print('-' * 20)
print('message:', msg)
print('encoded:', b64encode(h).decode())
print('decoded:', p)
print('private key:', key_to_str(privkey))
print('public key:', key_to_str(pubkey))
请注意,您可能必须在 python 2.x 中使用 raw_input()
。
我是 python 和编程以及所有这些方面的新手,但我有一个使用编程的项目(因为我对此很感兴趣:))
在这个项目中,我和我的搭档希望有人在代码中输入他们的消息(当然不是在 python 文件中),之后,消息会被加密,你会得到私钥和 public 密钥(在 RSA 中)。
我们可以使用他人的作品,只要我们解释为什么或如何工作。我已经找到了一个关于 RSA 的很好的代码,但是它缺少一种用户输入的方式。代码可以在这里找到:http://code.activestate.com/recipes/578797-public-key-encryption-rsa/.
现在我想问一下: 如何将消息(在代码中显示为 msg: )更改为用户可以输入内容的内容?
我已经尝试过使用输入命令,但似乎没有用。
之后,我们希望程序给用户他们的 public 和私钥,可以将其放回程序中以获取原始文本。 我们真的不知道我们怎么能这样写,所以我们认为我们应该问一下!
提前致谢:)
顺便说一句,我们正在使用 python 3.5!
您只需修改这些行(根据您的示例):
def main():
import doctest
print(doctest.testmod())
pubkey, privkey = keygen(2 ** 64)
msg = u'the quick brown fox jumped over the lazy dog ® ⌀'
h = encode(msg, pubkey, True)
p = decode(h, privkey, True)
print('-' * 20)
print('message:', msg)
print('encoded:', b64encode(h).decode())
print('decoded:', p)
print('private key:', key_to_str(privkey))
print('public key:', key_to_str(pubkey))
到
def main():
import doctest
print(doctest.testmod())
pubkey, privkey = keygen(2 ** 64)
msg = input('Please type your message: ')
h = encode(msg, pubkey, True)
p = decode(h, privkey, True)
print('-' * 20)
print('message:', msg)
print('encoded:', b64encode(h).decode())
print('decoded:', p)
print('private key:', key_to_str(privkey))
print('public key:', key_to_str(pubkey))
请注意,您可能必须在 python 2.x 中使用 raw_input()
。