我在哪里获得Flask的SECRET_KEY?

时间:2016-01-20 14:13:38

标签: python flask

我正在尝试设置Flask-Debugtoolbar,但是我收到消息“DebugToolBar需要SECRET_KEY”。我从哪里获得密钥?

4 个答案:

答案 0 :(得分:33)

需要密钥来保持客户端会话的安全。您可以生成一些随机密钥,如下所示:

>>> import os
>>> os.urandom(24)
'\xfd{H\xe5<\x95\xf9\xe3\x96.5\xd1\x01O<!\xd5\xa2\xa0\x9fR"\xa1\xa8'

只需拿走该密钥并将其复制/粘贴到配置文件中

即可
SECRET_KEY = '\xfd{H\xe5<\x95\xf9\xe3\x96.5\xd1\x01O<!\xd5\xa2\xa0\x9fR"\xa1\xa8'

请参阅Sessions文档

答案 1 :(得分:10)

获取密钥的随机字符串:

方法1:在Python 2/3中使用os

>>> import os
>>> os.urandom(12)
'\xf0?a\x9a\\\xff\xd4;\x0c\xcbHi'

方法2:在Python 2/3中使用uuid

>>> import uuid
>>> uuid.uuid4().hex
'3d6f45a5fc12445dbac2f59c3b6c7cb1'

方法3:在Python> = 3.6中使用secrets

>>> import secrets
>>> secrets.token_urlsafe(16)
'Drmhze6EPcv0fN_81Bj-nA'

方法4:在Python 3中使用os

>>> import os
>>> os.urandom(12).hex()
'f3cfe9ed8fae309f02079dbf'

在Flask中设置密钥

方法1:使用app.secret_key

app.secret_key = 'the random string'

方法2:使用app.config

app.config['SECRET_KEY'] = 'the random string'    

方法3:将其放在您的配置文件中:

SECRET_KEY = 'the random string'

答案 2 :(得分:5)

要在flask中使用会话,您需要在应用程序设置中设置密钥。 密钥是一个随机密钥,用于加密您的cookie并将其保存发送到浏览器。

此错误是由于this line in the Flask-Debugtoolbar code

要解决此问题,您只需在配置文件中设置SECRET_KEY

app.config['SECRET_KEY'] = "Your_secret_string"

或者如果你有一个配置文件,只需添加以下配置:

SECRET_KEY = "Your_secret_string"

答案 3 :(得分:1)

**生成秘密密钥** 打开你的cmd

  

导入机密

secrets.token_hex(16)

您会发现随机字符

将其放入您的配置文件中

app.config ['SECRET_KEY'] =“生成的密钥”