2013-12-11 71 views
5

在MongoDb中使用可以将用户添加到数据库进行访问控制。用户可以使用插入:MongoDB用于散列数据库用户密码的散列函数是什么?

db.addUser({ user: "aaaa", pwd: "1234", roles: [...]}) 

和插入的用户:

{ 
    "user" : "aaa", 
    "pwd" : "08ccdf34dbb3ca05dcc195e30994b628", 
    "roles" : [ 
     "userAdminAnyDatabase" 
    ], 
    "_id" : ObjectId("52a88b45965c4e7ad46bb97b") 
} 

什么功能的MongoDB用来计算/哈希pwd关键?

回答

4

The pwd is the hex encoding of MD5(username + ":mongo:" + password_text).

从官方documentation

结果与您在json中显示的散列不一致,但我认为您在添加"aaaa"时取代了实际的用户名和密码,但检索"aaa"

+0

谢谢!你的假设是正确的。我没有替换用户名。 :) –

+0

当我尝试在mongo shell中使用MD5(username +“:mongo:”+ password_text)时,我得到了 '错误:MD5字符串必须有32个字符' – Guig