首页 > 解决方案 > 如何安全地存储 API 密钥和秘密?

问题描述

我正在构建一个 Web 应用程序,该应用程序具有对其他服务的一些 API 调用,目前我只是将这些 API 密钥和秘密放在不是很安全的变量中。

我的目标:在代码中存储/保护这些 API 凭证,或者以加密形式将其存储到数据库中。

我目前正在使用 PHP 进行编码,并且我在 python 中有脚本来调用这些 API 服务。我计划创建一个 API 页面,用户可以在其中输入 API 凭据,并将其加密/散列并存储到数据库中。但我不确定这是否是正确的方法或如何去做。

欢迎对此提供任何帮助。谢谢你。

标签: pythonphpapi

解决方案


实际上,您在某些安全级别上无法确定密钥是私有的。首先,散列不合适,因为您无法从其散列中获取 api 密钥,因此您无法使用该 api!如果您加密该 api 密钥,您将使用 akey和 analgorithem进行加密。如果这些信息很可能被泄露,你无能为力!但总的来说,您信任某些安全层,您可以说将应用程序密钥存储在 .env 文件中。我认为加密对于在数据库中存储密钥是一个好主意,以防数据被数据库攻击泄露。


推荐阅读