【发布时间】:2021-07-30 07:16:33
【问题描述】:
假设我有一个服务器 server 和一个 API API,我想从 server 向 API 发送一个 POST 操作,我需要包含一些凭据以允许 POST 请求(请注意,API 仅接受 https-repsonses)。在这里,API 是 Google Compute Engine,server 是 Google App Engine - 如果这有什么不同的话。
我的第一个想法是使用一些通用密钥和 SHA256,例如 key = SHA(today_date+salt_key) 并将 key 与请求一起发送到 API。然后在服务器上计算check_key = SHA(today_date+salt_key) 并查看key==check_key 是否无法解决任何问题,因为凭据现在只是散列凭据,即如果有人获得散列凭据(key),他们可以只需将它们与恶意 POST 请求一起直接发送即可。
那么,我该如何克服这个问题呢?我是否在 server 上加密 API 密钥并在 API 上解密它(是否有任何“最佳实践”加密方案?或者有更简单的方法吗?
【问题讨论】: