我有一个python程序,它使用当前以base64编码的文本文件中的数据库登录来访问SQL数据库。我想用MD5对登录进行编码,并将其存储在一个配置文件中,但是经过一些研究,我找不到关于这个主题的太多信息。有人能指点我从哪里开始吗?
发布于 2016-06-24 14:57:22
不幸的是,MD5是一种散列签名协议,而不是加密协议。它用于生成字符串,用于检测产生MD5哈希值的最小变化。但是。。。(按设计)。。。您无法恢复最初用于生成签名的值!
如果您是在公司的“网内”设置中工作,请考虑使用LDAP (Microsoft OpenDirectory)或其他形式的授权/身份验证来代替“密码”。在这种情况下,安全部门授权您的应用程序执行某些事情,并且它们为您提供了一个没有意义的令牌来执行它。数据库使用所提供的令牌以及仅由安全部门控制的其他规则来识别您的脚本并授予对它的选定访问权限。这个标记是“如果被偷了也没用”。
如果您仍然需要使用密码,您将需要找到一种不同的方式来安全地存储它们。不能使用MD5。
发布于 2016-06-24 14:54:21
请参阅https://docs.python.org/3.5/library/hashlib.html
import hashlib
print( hashlib.md5(b"stackoverflow").hexdigest() )https://stackoverflow.com/questions/38016242
复制相似问题