【发布时间】:2017-05-16 01:33:33
【问题描述】:
如何创建 if else 语句以确保私钥不会被打印出来?我想确保生成的密钥不一样。它只是一种预防措施。但是当我将 if-else 语句放入代码中时,它会运行一个无限循环。我需要至少打印 5 次密钥。我怎样才能解决这个问题?我真的很感激这段代码的任何帮助!从https://github.com/truh/CryptoFun 获得这些代码。
e.g
if box.sk == box.sk:
generatekeys()
else:
print("Success!")
在下面的代码中我应该把 if else 语句放在哪里,这样它就不会运行无限循环?
def generatekeys():
count = 0
while (count<5):
import libnacl.public
import libnacl.secret
import libnacl.utils
msg = b'But then of course African swallows are not migratory.'
# This methods creates a keypar(public,private) for the Clients
alice = libnacl.public.SecretKey()
alice_box = libnacl.public.Box(alice.sk, alice.pk)
box = libnacl.secret.SecretBox()
print(box.sk)
alice_ctxt = alice_box.encrypt(box.sk)
print(alice_ctxt)
aclear = alice_box.decrypt(alice_ctxt)
print(aclear)
# Alice encrypts a message with the shared key and send it to Bob
encr = box.encrypt(msg)
print(encr)
box2 = libnacl.secret.SecretBox(aclear)
decr= box2.decrypt(encr)
print(decr)
generatekeys()
我打算只使用 alice,所以我没有 4 个键。我只需要一个秘密(私人)密钥和公共密钥。我如何创建 2 个 if else 语句以使用私钥不打印相同和另一个用于公钥?
【问题讨论】:
-
如果它们生成正确,它们将不一样。相信我。
标签: python-3.x loops if-statement cryptography curve-25519