通过应用程序中的https发送MD5哈希或原始密码



i我的应用程序我确实通过电子邮件登录

首次登录/注册

客户端

  • 输入密码
  • MD5哈希是计算
  • MD5哈希存储在钥匙串(Clinet上的安全位置)
  • md5哈希发送到服务器(https)

服务器

  • 获取MD5哈希密码,并使用bcrypt与盐储存
  • 发行通信令牌

客户端

  • 列表项目
  • 使用令牌直到到期

自动relogin

客户端

  • 将MD5哈希从钥匙扣中拔出
  • 发送到服务器(https)...

手动relogin

客户端

  • 再次输入密码
  • MD5哈希是计算(并存储的)
  • MD5已发送到服务器...

我阅读的文章,但是,将密码发送(并将其存储为raw存储在客户端

上)

处理MD5(通过HTTPS)而不是将其发送给MD5是否有优势?(从理论上讲,用户可以输入其他MD5的密码,并且仍然可以登录 - 这是有效的问题吗?)

是否在上面描述了该机制?

处理MD5是任何优势,而不是将其发送给原始(通过https)?

在"安全性"安全性中,我想说的不是,HTTPS已经阻止了中间攻击中的人,因此,如果有人试图嗅探密码,则该方式都无法正常工作。在这种情况下,您不会在客户端上的密码中得到太多。

另一方面,您可能需要考虑,当您向服务器发送MD5时,您无法执行密码或使用密码进行任何类型的操作。因此,您可能需要将密码作为服务器发送到服务器,并让其处理"密码存储logistic"。

从理论上讲,用户可以使用相同的MD5输入另一个密码,并且仍然可以登录 - 这是有效的问题吗?

这是完全可能的它是固定尺寸的字符串,实际上说这是不可能的,因此您不应该担心这方面太多。可能比这更重要的是使用一种良好的哈希算法,并将其与"盐"结合使用,以防攻击者掌握数据,这使得他们很难通过使用预先计算的哈希表来破解密码。

最新更新