分布式应用,密码哈希

时间:2011-01-10 18:15:44

标签: c# java database oracle security

我们有一个分布式的app和db表与用户。他们的密码将存储为哈希值。应用程序包括win服务,winforms,asp和java程序。 其中一个Java开发人员有一个函数可以计算字符串的md5哈希值(带有硬编码密钥),并提供在其他地方使用它(这意味着将java代码导入c#并乘以需要它的应用程序)。这是个好主意吗? 在这种情况下,您的建议是什么?人们通常会做些什么?

P.S。我们使用Oracle db。

2 个答案:

答案 0 :(得分:1)

Md5没有密钥,因为它是哈希而不是加密。 Md5哈希内置于java和c#。

任何机构需要编写什么代码?每种实现语言最多只有几行...加上一些测试来检查每个人是否都会得到相同的结果,大写等等。

答案 1 :(得分:1)

您可以让所有应用程序将密码传递给数据库,并在数据库中创建一个存储过程,根据存储的哈希检查给定的密码。

有一个用于计算哈希的标准PL / SQL函数:DBMS_OBFUSCATION_TOOLKIT.MD5

您可以在此处找到更完整的此方法说明:http://www.oracle-base.com/articles/9i/StoringPasswordsInTheDatabase9i.php