有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

JavaMail保存密码

我正在我当前的程序中实现javamail。如果我直接在代码中预定义凭据,或者通过文本/密码字段编写凭据,那么测试邮件将成功发送,但我希望它更友好。我在我的程序中使用了一个MySQL数据库,我可以在其中存储smtp密码,但出于安全原因,我不希望使用明文,我知道的唯一选项是同步加密,并使用用户登录密码作为安全密码

是否有其他安全存储密码的选项,或者用户不需要一直输入密码的选项? 当然,这只是通过复选框保存凭证的一个选项,如果用户不想保存凭证,他必须一直编写

谢谢你的帮助


共 (1) 个答案

  1. # 1 楼答案

    将加密(哈希)的密码存储在数据库中。使用Apache Common的libs加密,例如:

    String password = "PASSWORD_TO_ENCRYPTED";
    String salted = password + username; //salt the password value, using the username is only an example 
    String hash = DigestUtils.sha256Hex(salted.getBytes("UTF-8"));
    

    如果您想检查给定的密码是否正确,请使用相同的方法对其进行加密和散列。。并将哈希字符串与数据库中存储的值进行比较