首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过HTTPS发送密码的加密

通过HTTPS发送密码的加密
EN

Stack Overflow用户
提问于 2019-02-27 08:17:35
回答 2查看 568关注 0票数 2

日安,

我对数据库/应用程序/连接安全性非常陌生,并希望对项目有所帮助。

让我解释一下我的环境:

  • 我有一个用户名A和密码A保存在一个数据库(A)在一个本地机器上。
  • 密码A是使用一种带有盐分A的哈希算法存储的。
  • 我是通过一个HTTPS SOAP调用发送信用卡(用户名A和密码A)到一个远程的webservice。
  • Apon接收用户名A和密码A,webservice对位于webservice位置的数据库(B)中的表验证这些凭据。

My Problem :如果有人访问数据库A并提取散列密码,他们可以使用SOAP请求连接到服务。这意味着我的安全是无效的。

我必须找到可能的解决方案:

解决方案1:在向webservice发送密码A之前,我将其解密并通过安全的HTTPS连接通过明文发送。然后,当再次验证存储在数据库B中的哈希时,when服务将再次加密它。

解决方案2:在向the服务发送密码A之前,我对现有的哈希进行第二次加密。到达webservice时,对其进行解密,以公开根据数据库B验证的.then哈希。

我的问题:是上述两种解决方案中的任何一种,最佳实践。如果不是,对于这种情况,什么才是最好的实践解决方案。

亲切的问候

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-02-27 10:23:14

只是几个音符

  • 散列(单向,不可逆)和加密(可逆)之间有区别.您不能解密散列值。
  • 我假设您使用的是服务凭据,而不是用户身份凭据。

在这里我假设你在谈论

解决方案2:在向the服务发送密码A之前,我对现有的哈希进行第二次加密。到达webservice时,对其进行解密,以公开根据数据库B验证的.then哈希。

哈希实际上变成了一个密码,它不给解决方案添加任何安全性

解决方案1:在向webservice发送密码A之前,我将其解密并通过安全的HTTPS连接通过明文发送。

有几个标准来验证SOAP客户端,使用简单的凭证它的。客户端有效地发送其用户名和密码,依赖HTTPS来处理信道安全性。

我的问题是:如果有人访问数据库A并提取散列密码,他们可以使用SOAP请求连接到use服务

如果密码是散列的,您将无法解密它,但也不能使用散列值作为密码。否则,您将得到“解决方案2”,并使用哈希作为密码。

事实上,这通常是一个问题。您可以搜索其他问题,如何在本地存储服务凭据。问题是-你需要存储凭证。根据我的经验,您所能做的最好的事情至少会使检索变得更加困难,例如加密服务密码,这样它们就不会简单地存储在数据库或配置文件中。最后,客户端应用程序需要某个加密密钥来解密凭据。关键也需要得到保护。

如果您正在处理用户凭据(用户身份),则不要在客户端存储用户密码,还有其他方法来授权用户操作(访问令牌、jwt令牌、.)

票数 3
EN

Stack Overflow用户

发布于 2019-02-27 09:51:39

如果使用基于xml的SOAP,可以使用加密密码并对请求数据签名,以确保密码的完整性和安全性,并通过https发送数据。

为了存储密码,您应该使用不可逆转的密码哈希(如sha2 ),在服务器上您将解密密码,创建sha2哈希并将其与数据库中的密码进行匹配。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54900884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档