python - 如何安全地存储 API 密钥和秘密?
问题描述
我正在构建一个 Web 应用程序,该应用程序具有对其他服务的一些 API 调用,目前我只是将这些 API 密钥和秘密放在不是很安全的变量中。
我的目标:在代码中存储/保护这些 API 凭证,或者以加密形式将其存储到数据库中。
我目前正在使用 PHP 进行编码,并且我在 python 中有脚本来调用这些 API 服务。我计划创建一个 API 页面,用户可以在其中输入 API 凭据,并将其加密/散列并存储到数据库中。但我不确定这是否是正确的方法或如何去做。
欢迎对此提供任何帮助。谢谢你。
解决方案
实际上,您在某些安全级别上无法确定密钥是私有的。首先,散列不合适,因为您无法从其散列中获取 api 密钥,因此您无法使用该 api!如果您加密该 api 密钥,您将使用 akey
和 analgorithem
进行加密。如果这些信息很可能被泄露,你无能为力!但总的来说,您信任某些安全层,您可以说将应用程序密钥存储在 .env 文件中。我认为加密对于在数据库中存储密钥是一个好主意,以防数据被数据库攻击泄露。
推荐阅读
- html - 菜单没有出现在标题区域 html/css 中?
- mysql - InnoDB 表上的 MySQL 全文搜索索引和缺失结果
- html - 如何将相邻选择器与 :before 一起使用?
- tensorflow - 如何在 Google 深度学习 VM 上安装 GPU 驱动程序?
- azure - 我创建了一个 Azure 应用程序来使用 Graph,但不断弹出错误消息“需要批准”
- flutter - 带有进度条的颤动背景音频
- css - wordpress中的几个字体设置问题
- android - “react-native run-ios”命令行不起作用
- css - 如何更改 vue.js 应用程序中的主题(使用引导程序)?
- excel - 如何将分隔数据集从 .txt 导入 excel 中的行