我安装了带有 FosUserBundle(用户)、FosRestBundle(API)和 NelmioCorsBundle(CORS)的 Symfony 2.7。我遵循了一些指南,这些指南是在 FosUserBundle 使用带有盐的 SHA512 进行密码加密的(如果我理解得很好的话)时间编写的。
我的 Symfony 上有一个工作的 WSSE 服务器,我正在尝试以安全的方式从 Javascript 客户端发出请求。使用旧的“SHA15 + salt”方式,我知道如何做到这一点:用于在客户端获取 salt 的公共 api,我们在通过 WSSE 标头发送之前“在数据库中”重新创建加密密码。我认为这也有利于将密码保存在缓存中(比未加密的密码更好)。
但是由于 bcrypt 有一个内置的盐,我怎样才能在客户端生成加密密码?当然,一种解决方案是停止使用 bcrypt 并开始使用 SHA512 + salt 但不太安全;其他解决方案类似于 oauth2 和 HTTPS,但我现在想找到一个没有 HTTPS 的安全解决方案。
有什么线索吗?
谢谢 !