大家,早安。我一直在阅读(大部分都在堆栈溢出中)关于如何进行安全密码身份验证(散列 n 次,使用 salt 等),但我不确定如何在我的 TCP 客户端中实际实现它-服务器架构。
我已经实现并测试了我需要的方法(使用 jasypt digester),但我怀疑在哪里进行散列及其验证。
至于我阅读的内容,一个好的做法是避免传输密码。在这种情况下,服务器将发送散列密码,客户端将使用用户输入的密码对其进行测试。之后,我必须告诉服务器身份验证是否成功。好的,这行不通,因为任何连接到服务器正在读取的套接字并发送“authentication ok”的人都将登录。
另一种选择是将密码发送到服务器。在这种情况下,我看不到散列有任何实际好处,因为“攻击者”将不得不发送相同的散列来进行身份验证。
可能我没有得到一些细节,所以,任何人都可以告诉我这个吗?