평균 스택 앱을 개발 중이며 하드 코딩 된 데이터베이스에 사용자 이름과 비밀번호가 하나 있습니다. 그 암호를 암호화하고 DB에 다시 저장하고 싶습니다. (mongoDB, AngularJS, nodeJS 사용) 제안 사항이 있습니까?mongo에있는 데이터베이스에서 비밀번호를 암호화합니다.
0
A
답변
0
angularjs와 노드를 사용한다고 가정하면 npm의 mongoose (https://www.npmjs.com/package/mongoose)를 사용하여 데이터를 매핑 할 수 있습니다. 그런 다음 bcrypt (https://www.npmjs.com/package/bcrypt)를 사용하여 안전하게 암호를 저장할 수 있습니다.
bcrypt도 소금을 가지고 있기 때문에 bruteforcing을 막으려면 이걸 들여다 볼 수 있습니다.
var mg = require('mongoose');
var bcrypt = require('bcrypt');
var SALT_FACTOR = 10;
mg.connect('mongodb://localhost');
var db = mg.connection;
db.on('error', function(err){
console.log('error', err);
});
db.once('open', function(){
console.log('Connection successful');
});
var Schema = mg.Schema;
var mySchema = new Schema({
name:String,
password:String
});
var User = mg.model('User', mySchema);
mySchema.pre('save', function(next){
var user = this;
if (!user.isModified('password')) return next();
bcrypt.genSalt(SALT_FACTOR, function(err, salt){
if(err) return next(err);
bcrypt.hash(user.password, salt, function(err, hash){
if(err) return next(err);
user.password = hash;
next();
});
});
});
var testdata = new User({
name: "root",
password: "123456"
});
testdata.save(function(err, data){
if(err) console.log(err);
else console.log ('WOHOO:' , data);
});
0
는 그것은 암호화하지만 해싱 호출되지 않습니다. nodejs에 bcrypt
모듈을 사용할 수 있습니다. 암호
var bcrypt = require('bcrypt');
const saltRounds = 10;
bcrypt.hash(passwordFromSignup, saltRounds, function(err, hash) {
// store hash in database
});
해시하기 위해, 그리고 사용자 암호를 확인하기 위해
bcrypt.compare(passwordFromLogin, hashFromDatabase, function(err, res) {
// res evaluates to `true` if successfull login
});
관련 문제
- 1. Prestashop은 일반 텍스트 비밀번호를 암호화합니다.
- 2. 데이터베이스에서 비밀번호를 재설정 하시겠습니까?
- 3. Mongo에있는 기존 문서 확인
- 4. 데이터베이스에서 비밀번호를 가져 오는 방법
- 5. 데이터베이스에서 비밀번호를 가져 오는 방법은 무엇입니까?
- 6. 데이터베이스에서 비밀번호를 확인하려고 할 때 페이지가 비어집니다.
- 7. 데이터베이스에서 openfire 버전 4.0.2의 관리자 비밀번호를 변경하십시오.
- 8. Django - Mongo에있는 문서 내에 사용자 저장
- 9. flv 파일을 암호화합니다.
- 10. jQuery는 이미지 원본을 암호화합니다./
- 11. ADOdb는 쿼리를 암호화합니다
- 12. AES256은 Swift3에서 암호화합니다.
- 13. 문자열을 15 자로 암호화합니다.
- 14. Parse.com에서 데이터를 암호화합니다.
- 15. Aes는 .Net과 Js를 암호화합니다.
- 16. 모노로 web.config의 구성 섹션을 암호화합니다.
- 17. gui 구식 gui 스타일을 암호화합니다.
- 18. -nosalt 옵션을 사용하여 암호를 암호화합니다.
- 19. RSA PKCS # 1은 PHP로 암호화합니다.
- 20. 은 암호로 메시지를 암호화합니다. java
- 21. Android Cipher는 Android 8.1에서 암호화합니다.
- 22. PHP가 Wordpress 양식의 이메일을 암호화합니다.
- 23. RSA는 키보다 긴 문자열을 암호화합니다.
- 24. 암호는 phpbb3 암호로 작동하도록 암호화합니다.
- 25. Google Play에서 오류 보고서를 암호화합니다.
- 26. 가면으로 된 비밀번호를 읽고 데이터베이스에서 사용 가능한지 확인하십시오.
- 27. 사용자 고유 보안 코드를 사용하여 데이터베이스에서 비밀번호를 업데이트하는 방법
- 28. wordpress 해시로 actionscript에서 일반 텍스트 비밀번호를 암호화하십시오.
- 29. quesy OLD 해시 비밀번호를 AES로 변환
- 30. 비밀번호를 잊어 버렸습니까? 또는 비밀번호를 잊어 버렸습니까?