source code of Meteor говорит нам, как именно пароли хэшируются:
// Use bcrypt to hash the password for storage in the database.
// `password` can be a string (in which case it will be run through
// SHA256 before bcrypt) or an object with properties `digest` and
// `algorithm` (in which case we bcrypt `password.digest`).
//
var hashPassword = function (password) {
password = getPasswordString(password);
return bcryptHash(password, Accounts._bcryptRounds);
};
А также:
Accounts._bcryptRounds = 10;
Таким образом, вы можете просто создать новый хэш от первого применения SHA256, а затем 10-раундовый Bcrypt в строке необработанного пароля.
Если у вас есть только один или два пароля для изменения и хотите обновить их вручную, вот некоторые интернет-инструменты, чтобы сделать это:
Online SHA-256 calculator
Online bcrypt calculator
После создана новый хэш, просто обновите его с помощью консоли Mongo:
db.users.update({"emails.address": "[email protected]"}, {$set: {"services.password.bcrypt": "$2a$10$u/4JV2MrAKb8Jk9yRHDIL.yGn5SQOInFunvUwEnDv5uJgMkWNe08K"}});
Это довольно крутое решение. Спасибо @Jimmi – BassT