我下面是一个使用python2.7的Mac上的Flask教程,它将引导您构建一个具有用户登录和密码功能的简单博客。在
登录系统基于Flask-Login module。在
第一步是在配置.py应用程序目录中的文件如下所示:
import os
class DevelopmentConfig(object):
SQLALCHEMY_DATABASE_URI = "postgresql://ubuntu:thinkful@localhost:5432/blogful"
DEBUG = True
SECRET_KEY = os.environ.get("BLOGFUL_SECRET_KEY", "")
我知道秘密密钥被用于加密应用程序,因为将应用程序的密钥存储在应用程序配置本身中不是一个好主意,对吗?因此,我们使用操作系统环境获取从环境变量中获取密钥。在
为了实现这一点,本教程说有必要通过以下方式在命令行导出环境变量:
^{pr2}$这将设置一个名为BLOGFUL_SECRET_KEY
的环境变量,但是如何使用这个环境变量创建密钥呢?在
直接回答您的两个问题:
你可能真正想要的信息:
首先,请记住我不是密码专家!别碍事了
您需要做的是为您的应用程序生成适当大小的机密和加密安全性,然后将环境变量设置为该值。在
我猜测这个秘密密钥是与链接到的Flask登录模块的
flask.ext.login.make_secure_token
方法相关联的。如果是这样的话,看看源代码,这个键正与HMAC一起用于SHA-512。理想情况下,密钥应该与算法使用的块大小相同,在这种情况下,Python 2.7 hmac implementation的源代码指示为512位HMAC的64。如果键小于块大小,它将用零填充;如果更大,它将哈希到块大小。在Flask quickstart documentation section for sessions提供了一个由Python's ^{} documentation 备份的示例,该示例用于生成可用于密钥的机密性合适的随机字节。我会改变他们的示例,因为我们希望块大小为64而不是24的密钥为:
获取结果并将环境变量设置为值。直接使用烧瓶示例(不要在代码中使用这些值):
^{2}$您将获取输出,并将环境变量设置为该值:
没有意识到设置密钥的实际命令是:
使用Python解释器可以使用类似的方法生成密钥:
^{2}$相关问题 更多 >
编程相关推荐