我有一组用户。他们每个人都有相同的用户名密码组合。我的数据库中有加密的数据(见下面的代码)。问题是,处理整个用例的最佳和最安全的方法是什么?我只想在电子邮件中发送用户名 - 密码组合,向每个用户发送相同的电子邮件。我应该只是解码密码还是保存这段时间的文本密码,然后用户发送电子邮件并在此之后删除文本密码,或者您对此有什么想法?
我的软件中没有那么无价的数据,但仍然......
private Users hashPasswordBase64(Users currentUser) {
try {
MessageDigest md = MessageDigest.getInstance("SHA-256");
String text = currentUser.getPassword();
md.update(text.getBytes("UTF-8"));
byte[] digest = md.digest();
currentUser.setPassword(Base64.encode(digest));
} catch (NoSuchAlgorithmException ex) {
Logger.getLogger(UsersController.class.getName()).log(Level.SEVERE, null, ex);
} catch (UnsupportedEncodingException ex) {
Logger.getLogger(UsersController.class.getName()).log(Level.SEVERE, null, ex);
}