Tôi có mã sau, nó chèn userName
và password
vào cơ sở dữ liệu nhưng mật khẩu được lưu trữ ở định dạng văn bản thuần túy. Ý tôi là khi tôi nhìn vào db tôi có thể thấy mật khẩu được chèn vào.Mã hóa các trường mật khẩu trong mongodb
Tôi muốn lưu trữ ở định dạng password
encrypted
MongoClient client = new MongoClient("localhost",27017);
DB db = client.getDB("Test");
DBCollection collection = db.getCollection("EncryptionDemo");
BasicDBObject documentDetail = new BasicDBObject();
documentDetail.put("userName", "admin12");
documentDetail.put("password", "12345");
collection.insert(documentDetail);
Làm thế nào tôi có thể đạt được điều này?
Việc mã hóa phải được thực hiện bằng mã Java. Có một cái nhìn về kỹ thuật mã hóa mật khẩu - PBKDF2 hoặc bcrypt hoặc scrypt –
Vì vậy, sử dụng phương pháp để mã hóa chuỗi. Cơ sở dữ liệu chỉ lưu trữ những gì bạn yêu cầu. Không có kiểu "mã hóa" của trường và MongoDB là "schemaless", do đó không có "loại trường". Đó là mã của bạn để triển khai. –
Bạn không muốn mã hóa mật khẩu nhưng băm nó - sự khác biệt lớn. [https://crackstation.net/hashing-security.htm](https://crackstation.net/hashing-security.htm) là hướng dẫn cách thực hiện đúng cách. – jHilscher