我正在开发一个具有用户帐户的组项目。现在我试图找出如何加密,存储和检查密码。我们已经实现了存储密码,但还没有对它们进行加密并存储它们。我正在使用Java库Jasypt,更具体地说我正在使用他们的StandardStringDigester类。使用Java库jasypt摘要加密密码
我的问题是,每当我消化相同的字符串它出来不同。我能找到的准确检查字符串是否与消解字符串匹配的唯一方法是使用Digesters Match方法。此方法需要两个参数,即未加密的密码字符串和已消解的密码字符串。据我所知,然而,验证不应该在客户端进行,服务器端永远不应该看到未经消化的密码。那么,如何消化密码,将其发送到服务器,然后检查它是否与该用户的存储(也是消化的)密码相符?
好的非常感谢,我的问题是,我认为这是不好的做法发送明文到服务器。我想确定,cleartext只是意味着未加密,因为用户输入了正确的密码? – Alex5775
@ Alex5775的确如此。只要您在客户端上散列任何内容,散列/摘要就会成为密码。这就是为什么我们需要https来照顾它 – gusto2
再一次感谢了很多,只是另外一个问题:我正在使用Java,Java(特别是套接字)是否自动实现了TLS,还是必须获得另一个库实施这个? – Alex5775