Java-хэшированный пароль имеет значение null - PullRequest
0 голосов
/ 25 мая 2018

Здравствуйте. Я потратил несколько часов, пытаясь выяснить , почему мой хешированный пароль пуст. Я пытаюсь использовать 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);
            }

        }
...