使用弱引用是我从未见过的实现,所以我试图弄清楚它们的用例是什么以及实现如何工作.什么时候需要使用WeakHashMap
或者WeakReference
它是如何使用的?
我们最近进行了安全审计,并暴露了此处系统中的一些弱点.由此产生的任务之一是我们需要更新我们的合作伙伴凭证系统以使其更安全.
"旧的"处理方式是生成(坏)密码,将其提供给具有ID的伙伴,然后他们将通过https发送该ID和该密码的Base 64编码副本以及所有XML请求.然后我们解码它们并验证它们.
这些密码不会改变(因为那时我们的合作伙伴必须进行编码/配置更改才能更改它们,并且与多个环境中的数百个合作伙伴协调密码到期将是一场噩梦)并且它们不必由人类输入或人类可读的.如果我们的合作伙伴有更好但仍然相对简单的实施,我愿意改变这一点.
基本上它归结为两件事:我需要一个更安全的Java密码生成系统,并确保它们以安全的方式传输.
我发现了一些手动密码生成器,但没有什么真正脱颖而出作为标准的方法来做到这一点(也许是有充分理由的).传输它们可能比通过https进行简单的Base 64编码更安全.
你会对密码生成器做些什么,你认为现有的传输方法是否足够安全?
编辑:XML包含在SOAP消息中,凭据位于标头中,而不在XML本身中.此外,由于在我们设置密码时,密码是每个合作伙伴的一次性操作,因此我们不太担心发电机的效率.