猿问

Flask、Django的 secret key 设置有什么用?

我在flask、与Django的文档中都发现需要配置 secret_key

  1. 这种 secret_key 有什么用吗?

  2. 如果暴露他会带啦哪些安全风险?


SMILET
浏览 2702回答 2
2回答

慕姐8265434

有用的.引用一段 Flask Web Development 中的内容:SECRET_KEY 配置变量是通用密钥, 可在 Flask 和多个第三方扩展中使用. 如其名所示, 加密的强度取决于变量值的机密度. 不同的程序要使用不同的密钥, 而且要保证其他人不知道你所用的字符串.SECRET_KEY 的作用主要是提供一个值做各种 HASH, 我没有实际研究过源码, 不同框架和第三方库的功能也不尽相同, 我不能给出准确的答案, 但是主要的作用应该是在其加密过程中作为算法的一个参数(salt 或其他). 所以这个值的复杂度也就影响到了数据传输和存储时的复杂度.另外, 考虑到安全性, 这个密钥是不建议存储在你的程序中的. 最好的方法是存储在你的系统环境变量中, 通过 os.getenv(key, default=None) 获得.
随时随地看视频慕课网APP
我要回答