在MongoDB中插入密码
插入数据时,是否有方法将字符串从mongo命令行转换为哈希?我想手工插入帐户详细信息,并根据需要创建尽可能多的用户。如果我正确理解了您的问题,您需要从shell中散列一个值。我不明白你为什么需要这个,但我会尝试给你一些解决方案的方法 定制解决方案: mongoDB有存储过程,可以用JS编写,也可以从任何上下文调用。这将为您提供100%的所有权来编写存储过程并从shell中调用它。在本例中,我正在调用我以前创建的“fromStringToHash”函数在MongoDB中插入密码,mongodb,Mongodb,插入数据时,是否有方法将字符串从mongo命令行转换为哈希?我想手工插入帐户详细信息,并根据需要创建尽可能多的用户。如果我正确理解了您的问题,您需要从shell中散列一个值。我不明白你为什么需要这个,但我会尝试给你一些解决方案的方法 定制解决方案: mongoDB有存储过程,可以用JS编写,也可以从任何上下文调用。这将为您提供100%的所有权来编写存储过程并从shell中调用它。在本例中,我正在调用我以前创建的“fromStringToHash”函数 db.loadServerScripts()
db.loadServerScripts();
db.PasswordTest.insert({"name":"Daniele", "password": "notSecure"});
db.PasswordTest.insert({"name":"Daniele", "password": fromStringToHash("theSecretPassword")});
MD5
如果您只需要一种计算散列的方法,请看一看
db.PasswordTest.insert({"name":"Daniele", "password": hex_md5("theSecretPassword")});
您还可以使用这两种解决方案(一种内部调用hex_md5的存储过程,以便将来可以自由更改该函数)。此函数可从MongoDB shell上下文中获得。是否从shell中获得?有什么原因不能用另一种语言来做吗?在驱动程序可用的地方,你可以用任何语言编写脚本或程序。我可以使用Node.js。问题是我不想创建任何人都可以注册的特定页面@NeilLunnSo然后使用Node.js。有什么问题吗?找到一个库并“加密”(这不同于散列)你的密码。@wickerman让我了解一下。。。是否需要类似于:db.PasswordTest.insert({“name”:“Daniele”,“password”:“notSecure”});插入({“name”:“Daniele”,“password”:fromStringToHash(“theSecretPassword”)});要从Mongo Shell中使用以创建哈希?您是在寻找特定的哈希算法还是MD5适合您?是的!MD5还可以。我使用了db.CollectionName({“name”:“TestName”,“email”:”test@test.com“,”密码“:”pass“}),使用“email”作为登录帐户,密码作为pass@达涅拉松