Für ein Projekt brauche ich Benutzer und ich möchte ein verschlüsseltes Passwort in der Datenbank speichern.Sails.js - Passwort verschlüsseln
Also ich brauche Ihre Hilfe, weil ich das Kennwort verschlüsseln müssen, wenn ich einen Benutzer hinzufügen, aber ich habe einen Fehler in das Terminal, wenn ich sails lift
starten:
In model `user`:
The `toJSON` instance method is no longer supported.
Instead, please use the `customToJSON` model setting.
Konfiguration:
Ich bin unter Verwendung der Sails 1.0 Beta
und Bcrypt 1.0.2
.
Modell user.js
/**
* User.js
*
* @description :: A model definition. Represents a database
table/collection/etc.
* @docs :: https://sailsjs.com/docs/concepts/models-and-
orm/models
*/
var bcrypt = require('bcrypt');
module.exports = {
attributes: {
firstname: {
type: 'string'
},
lastname: {
type: 'string'
},
password: {
type: 'string'
},
email: {
type: 'string',
unique: true
},
code: {
type: 'string',
unique: true
},
referring: {
type: 'string'
},
comment: {
type: 'text'
},
// Add reference to Profil
profil: {
model: 'profil'
},
toJSON: function() {
var obj = this.toObject();
delete obj.password;
return obj;
}
},
beforeCreate: function(user, cb) {
bcrypt.genSalt(10, function(err, salt) {
bcrypt.hash(user.password, salt, function(err, hash) {
if (err) {
console.log(err);
cb(err);
} else {
user.password = hash;
cb();
}
});
});
}
};
Ich glaube, ich bin eine alte Art und Weise mit dem Passwort zu verschlüsseln, aber ich weiß nicht, oder keinen anderen Weg, dies zu tun finden.
Vielen Dank im Voraus
'bcrypt' ist keine Verschlüsselung, ist es nur schlecht benannt. Es ist eine kryptografische Hash-Methode, die für Passwörter entwickelt wurde und eine beträchtliche CPU-Rechenzeit beinhaltet. Sie ist eine sichere Methode. Es geht darum, den Angreifer dazu zu bringen, viel Zeit mit der Suche nach Passwörtern zu verbringen. – zaph