正确传递和保护用户的密码为Web应用程序(Properly transmitting and sec

2019-09-22 01:29发布

我正在为我的学位项目的Web应用程序。 它是教授学生管理项目的系统,它使用Java服务器端代码,HSQLDB数据库和JSP的表示层,它运行在Tomcat上。 将被存储的数据不包含任何敏感信息(学生证,财务信息,完全不像),但用户名和密码是必须的,所以我要保护密码本身的事件,一个学生使用密码我的应用程序,他们使用了一些其他的,更重要的应用程序(即使我告诉人们不要做这无疑会发生)。

我从来没有看着这种事情之前,我很迷失。 我没有找到一个很好的文章,解释了如何使用Java来创建密码的哈希值 ,而且我发现在信息Tomcat文档解释了如何设置散列方案领域被使用,怎么办SSL和Tomcat ,以及一个JavaScript库来创建密码的哈希值,但我不知道如何把所有的拼在一起,我需要什么作品。

如果我使用的JavaScript库散列密码,并使用SSL的登录步骤(这是不必要的之后,我觉得因为其他数据不需要保护),然后只存储密码的哈希版本的数据库,是有足够的? 或做我需要做更多的东西? 我跑过一个问题 ,其中讨论的答案PBKDF2和其他一些东西,但它只是让我感到困惑更多...如果我应该使用这些答案中提到的方案之一,我怎么去这样做呢? 我还没有看到Tomcat或其他文件中对它们的引用,所以我不知道我怎么会使用他们...

如果任何人都可以清理我的困惑,并告诉我正确的方式安全地传输和存储密码是,我真的很感激它。

Answer 1:

SSL需要确保整个传输层的照顾。 你不必担心被通过HTTPS发送的数据。

从来没有真正的密码存储在数据库中。 只有存储与安全适当的(即不是MD5)哈希函数取得盐腌哈希。 使用不同的盐为每个哈希值。

如果你遵循这些原则,不管你用什么成分,你将有一个合理的用户名/密码存储机制。



文章来源: Properly transmitting and securing users' passwords for a web app