我们有一个带有用户的分布式应用程序和数据库表。他们的密码将存储为哈希值。应用程序由win服务,winforms,asp和java程序组成。
一名Java开发人员具有一个功能,可以为字符串(带有硬编码键)计算md5哈希值,并提供在其他地方使用它的功能(这意味着将Java代码导入c#并乘以需要它的应用程序)。那是个好主意吗?
您的建议是什么?在这种情况下人们通常会做什么?
附言我们使用Oracle数据库。
最佳答案
您可以让所有应用程序将密码传递给数据库,并在数据库中有一个存储过程,以对照存储的哈希值检查给定的密码。
有一个用于计算哈希的标准PL / SQL函数:DBMS_OBFUSCATION_TOOLKIT.MD5
您可以在这里找到此方法的更完整的记录:http://www.oracle-base.com/articles/9i/StoringPasswordsInTheDatabase9i.php