0

所以这是我的第一个代码

@Autowired
    protected void configureGlobal(AuthenticationManagerBuilder registry) throws Exception {
        registry.userDetailsService(userDetailsService);
    }

我想使用密码编码器,所以我把我的代码变成了这个

@Autowired
    protected void configureGlobal(AuthenticationManagerBuilder registry) throws Exception {
            ShaPasswordEncoder sha= new ShaPasswordEncoder(256);
        registry.userDetailsService(userDetailsService).passwordEncoder(sha);
    }

但它仍然无法正常工作..这段代码似乎有什么问题?我对java config很陌生..我希望有人可以帮助我..

4

1 回答 1

0

好吧,我傻了……问题不在于 Spring 安全性。我在寄存器中的 sha-256 代不正确。这就是我无法登录的原因。这是我现在的代码。

MessageDigest md = MessageDigest.getInstance("SHA-256");
md.update(user.getPassword().getBytes());

byte byteData[] = md.digest();

StringBuffer sb = new StringBuffer();
for (int i = 0; i < byteData.length; i++) {
    sb.append(Integer.toString((byteData[i] & 0xff) + 0x100, 16)
            .substring(1));
}
user.setPassword(sb.toString());
于 2014-04-02T16:40:06.617 回答