我一直在寻找互联网,我已经想出了很多关于如何存储PayPal API凭证(在Paypal Express Checkout中使用)的答案。他们说使用salt对凭证进行散列。 但我不明白的是如何以及在哪里存储盐。 如果他们能够访问盐,他们不能只是取消散列凭证? 这对我来说似乎不太安全。 他们说不要硬编码的API凭证,但任何其他方式似乎仍然是脆弱的。 感谢您花时间看我的问题。 我真的很感激帮助。
散列它们并没有什么意义,因为根据定义,一旦你散列了一些东西,你就无法把它弄回来(不要乱搞是不可能的,但是你可以用彩虹表或暴力破解散列)。 通常情况下,如果你使用哈希函数,你可以将哈希函数与哈希函数一起存储,这样就可以比较一些哈希值; 盐做的唯一事情是彩虹攻击更加困难。
我build议将它们存储在一个受限制的文件中(例如只能由root读取)。 然后,您的结帐服务可以在删除权限之前读取文件,类似于通常处理X.509证书的方式。
对它们进行硬编码通常很脆弱。 这意味着,如果由于某种原因某人可以看到您的来源,他们有凭据(例如,如果处理程序设置错误)。