BCrypt를 사용하여 암호를 암호화 한 다음 다른 함수에 전달하여 DB에 저장하려고합니다. 문제는 성공할 수 없다는 것입니다. 쓰기 - 투 - db.js에 "ReferenceError가 : hashedPass 정의되지 않은"나는 오류가 발생 코드의이 부분은 암호화 해시를 보낼 수있다 (18)다른 함수에 BCrypt 해시 전달
에 "write.registerUser()"
\t registerUser(Callback) {
\t \t var sql = "INSERT INTO users_data (first_name, last_name, email, role, registration_date, active, password) VALUES ('"+fName+"', '"+lName+"', '"+email+"', '"+role+"', '"+date+"', '"+1+"', '"+hashedPass+"')";
\t \t con.query(sql, function (err, result) {
\t \t \t if (err) throw err;
\t \t \t Callback(result);
\t \t });
\t }
\t \t bcrypt.genSalt(saltRounds, function(err, salt){
\t \t \t bcrypt.hash(query.password, salt, function(err, hashedPass){
\t \t \t \t console.log(hashedPass); //I get the hash printed here with no problems
\t \t \t \t write.registerUser(function(data, fName, lName, email, role, date, hashedPass){
\t \t \t \t \t return();
\t \t \t \t });
\t \t \t });
\t \t });
아이디어가 있으십니까?
'registerUser (Callback) {'---이 함수 선언은 단지 하나의'Callback' 인자만을 가지고 있습니다. 그래서'hashedPass'는 전혀 정의되어 있지 않습니다. – zerkms
registerUser 함수에서'first_name, last-name' 등은 어디입니까? 그것들은 해시 함수에서 전달 된 매개 변수와 일치하지 않습니다. 그렇다면 정의 된 것입니까? – Tyler
'next()'를 사용하는 방법 – shahabvshahabi