Java-Hashed密码值为null

时间:2018-05-25 20:41:12

标签: spring hash null passwords bcrypt

您好我花了几个小时试图找出为什么我的哈希密码为空。我正在尝试使用Spring BCryptPasswordEncoder。我已阅读了几篇文档,查看了许多不同的示例,并观看了有关如何使用此加密器的视频,但我无法让它工作。查看我的MYSQL数据库,我知道密码字段已填充,但hashPassword的字段仍为空。在任何人翻转之前我知道普通密码不应该存储在数据库中,但目前我知道密码参数不是空的。据我所知,这不是一个重复的问题,如果是这样,请指引我到正确的地方,因为我看到的哈希类别的所有内容都没有帮助。以下是我正在使用的代码片段,如果您需要更多详细信息,请告诉我们。

    @Entity
          public class User {

            @Id
            @GeneratedValue
            private int uid;

            @NotNull
            @Column(unique = true )
            private String username;

            @NotNull
            private String password;

            @Column
            private String hashedPassword;

             private static final BCryptPasswordEncoder encodedPassword = new BCryptPasswordEncoder();

           public User(String username, String password) {
                this.username = username;
                this.password = password;
                this.hashedPassword = hashIt(this.password);

            }
public User() { }
      public String getPassword() {
            return password;
        }
      public void setPassword(String password) {
            this.password = password;
        }
     public String getHashedPassword() {
            return hashedPassword;
        }
     public void setHashedPassword(String hashedPassword) {
            this.hashedPassword = hashedPassword;
        }

         public String hashIt(String password) {
                return encodedPassword.encode(password);
            }

         public boolean isCorrectPassword(String password){

                return encodedPassword.matches(password,hashedPassword);
            }

        }

0 个答案:

没有答案