我目前正在教自己如何使用Python3进行编码。我通过各种练习等来做这件事。基本上,我有一个程序,用户将通过一个唯一的PIN码登录程序。在此任务中,我被要求通过执行以下操作来扩展我的程序:
“创建一种编码算法,将以只能查看文件无法读取的格式存储PIN。只有通过相同的算法运行PIN尝试才能找到匹配。”
这究竟是什么意思?由于我是Python新手,我不完全确定要问的是什么。有人能以正确的方式指出我,以及我将如何处理这个问题?
答案 0 :(得分:1)
您可以轻松使用hash
:
a = hash("1234")
assert(hash("1234") == a)
这个想法是,对于每个引脚输入,您将得到一个输出,您可以存储和比较但不是引脚本身。
答案 1 :(得分:0)
当用户创建帐户并存储结果时,您应该对引脚进行散列。然后,当用户再次输入pin进行登录时,对输入的引脚进行散列,并将结果与存储的结果进行比较。如果他们两个都匹配,他就有正确的针脚。
使用SHA256进行散列。研究如何使用SHA256。
不要使用MD5或SHA1。他们不再安全了。
以下是我通过互联网撰写各种文章的摘录。我用它作为我自己的参考,但它可能对你有帮助。
https://hnode.github.io/website/blog/guides/passwords.html
该链接探讨了处理密码的各种方法:从纯文本到哈希拉伸,以及哈希如何工作。
免责声明:我不拥有该文章的内容。我从各种相关文章中收集了它,并将该集合格式化为一篇文章。