下面列出了怎么用org.springframework.security.authentication.encoding.Md5PasswordEncoder的API类实例代码及写法,或者点击链接到github查看源代码。
/**
* Md 5 system wide salt source.
*/
private static void md5_SystemWideSaltSource() {
Md5PasswordEncoder md5 = new Md5PasswordEncoder();
md5.setEncodeHashAsBase64(false);
// 使用动态加密盐的只需要在注册用户的时候将第二个参数换成用户名即可
String pwd = md5.encodePassword("123456", "acegisalt");
log.info("MD5 SystemWideSaltSource: " + pwd + " len=" + pwd.length());
}
@Bean
public Md5PasswordEncoder md5PasswordEncoder(){
Md5PasswordEncoder md5 = new Md5PasswordEncoder();
md5.setEncodeHashAsBase64(true);
md5.setIterations(32);
return md5;
}
@Bean
public Md5PasswordEncoder md5PasswordEncoder(){
Md5PasswordEncoder md5 = new Md5PasswordEncoder();
md5.setEncodeHashAsBase64(true);
md5.setIterations(32);
return md5;
}
public String md5Encoder(String password, String salt) {
Md5PasswordEncoder md5PasswordEncoder = new Md5PasswordEncoder();
md5PasswordEncoder.setEncodeHashAsBase64(true);
md5PasswordEncoder.setIterations(32);
String encoded = md5PasswordEncoder.encodePassword(password,salt);
return encoded;
}
@Bean
public Md5PasswordEncoder md5PasswordEncoder(){
Md5PasswordEncoder md5 = new Md5PasswordEncoder();
md5.setEncodeHashAsBase64(true);
md5.setIterations(32);
return md5;
}
@Bean
public Md5PasswordEncoder md5PasswordEncoder(){
Md5PasswordEncoder md5 = new Md5PasswordEncoder();
md5.setEncodeHashAsBase64(true);
md5.setIterations(32);
return md5;
}
@Bean
public Md5PasswordEncoder md5PasswordEncoder(){
Md5PasswordEncoder md5 = new Md5PasswordEncoder();
md5.setEncodeHashAsBase64(true);
md5.setIterations(32);
return md5;
}
@Bean
public Md5PasswordEncoder md5PasswordEncoder(){
Md5PasswordEncoder md5 = new Md5PasswordEncoder();
md5.setEncodeHashAsBase64(true);
md5.setIterations(32);
return md5;
}
@Bean
public Md5PasswordEncoder md5PasswordEncoder(){
Md5PasswordEncoder md5 = new Md5PasswordEncoder();
md5.setEncodeHashAsBase64(true);
md5.setIterations(32);
return md5;
}
public String md5Encoder(String password, String salt) {
Md5PasswordEncoder md5PasswordEncoder = new Md5PasswordEncoder();
md5PasswordEncoder.setEncodeHashAsBase64(true);
md5PasswordEncoder.setIterations(32);
String encoded = md5PasswordEncoder.encodePassword(password,salt);
return encoded;
}
@Bean
public Md5PasswordEncoder md5PasswordEncoder(){
Md5PasswordEncoder md5 = new Md5PasswordEncoder();
md5.setEncodeHashAsBase64(true);
md5.setIterations(32);
return md5;
}
@Bean
public Md5PasswordEncoder md5PasswordEncoder(){
Md5PasswordEncoder md5 = new Md5PasswordEncoder();
md5.setEncodeHashAsBase64(true);
md5.setIterations(32);
return md5;
}
@Bean
public Md5PasswordEncoder md5PasswordEncoder(){
Md5PasswordEncoder md5 = new Md5PasswordEncoder();
md5.setEncodeHashAsBase64(true);
md5.setIterations(32);
return md5;
}
@Autowired
public WebSecurityConfig(UserDetailsService userDetailsService,
JwtAuthenticationTokenFilter jwtAuthenticationTokenFilter,
EntryPointUnauthorizedHandler entryPointUnauthorizedHandler,
RestAccessDeniedHandler restAccessDeniedHandler) {
this.userDetailsService = userDetailsService;
this.jwtAuthenticationTokenFilter = jwtAuthenticationTokenFilter;
this.entryPointUnauthorizedHandler = entryPointUnauthorizedHandler;
this.restAccessDeniedHandler = restAccessDeniedHandler;
this.passwordEncoder = new Md5PasswordEncoder();
}
@Test
public void testOldPWMigrate() {
PasswordEncoder encoder = new Md5PasswordEncoder();
String oldPW = encoder.encodePassword(STRING, null).toUpperCase();
String newPW = PasswordUtils.updateOldEncPass(oldPW, DATESTRING);
assertTrue("Old PW should match", PasswordUtils.isPasswordValid(newPW, STRING, DATESTRING));
}
@Bean
public PasswordEncoder passwordEncoder() {
return new Md5PasswordEncoder();
}
@Bean
public PasswordEncoder passwordEncoder() {
return new Md5PasswordEncoder();
}
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(userDetailsService()).passwordEncoder(new Md5PasswordEncoder());
}
@Bean
public PasswordEncoder passwordEncoder() {
return new Md5PasswordEncoder();
}
@Bean
public PasswordEncoder passwordEncoder() {
return new Md5PasswordEncoder();
}
protected String getRandomCode(HttpServletRequest request) {
return new Md5PasswordEncoder().encodePassword(request.getSession().getId(), salt);
}
private void createSystemNodes() throws RepositoryException {
LOG.info("Creating system nodes");
Node rootNode = getTemplate().getRootNode();
Node nextServerNode = rootNode.addNode(StorageConstants.NEXT_SERVER_FOLDER_NAME);
nextServerNode.addMixin("mix:referenceable");
nextServerNode.setProperty("className", Folder.class.getName());
nextServerNode.setProperty("version", "-1");
Node reportsNode = nextServerNode.addNode(StorageConstants.REPORTS_FOLDER_NAME);
reportsNode.addMixin("mix:referenceable");
reportsNode.setProperty("className", Folder.class.getName());
Node datasourcesNode = nextServerNode.addNode(StorageConstants.DATASOURCES_FOLDER_NAME);
datasourcesNode.addMixin("mix:referenceable");
datasourcesNode.setProperty("className", Folder.class.getName());
Node schedulersNode = nextServerNode.addNode(StorageConstants.SCHEDULER_FOLDER_NAME);
schedulersNode.addMixin("mix:referenceable");
schedulersNode.setProperty("className", Folder.class.getName());
Node securityNode = nextServerNode.addNode(StorageConstants.SECURITY_FOLDER_NAME);
securityNode.addMixin("mix:referenceable");
securityNode.setProperty("className", Folder.class.getName());
Node usersNode = securityNode.addNode(StorageConstants.USERS_FOLDER_NAME);
usersNode.addMixin("mix:referenceable");
usersNode.setProperty("className", Folder.class.getName());
Node groupsNode = securityNode.addNode(StorageConstants.GROUPS_FOLDER_NAME);
groupsNode.addMixin("mix:referenceable");
groupsNode.setProperty("className", Folder.class.getName());
Node adminNode = usersNode.addNode(StorageConstants.ADMIN_USER_NAME);
adminNode.addMixin("mix:referenceable");
adminNode.setProperty("className", User.class.getName());
adminNode.setProperty("admin", true);
PasswordEncoder passwordEncoder = new Md5PasswordEncoder();
adminNode.setProperty("password", passwordEncoder.encodePassword("1", null));
getTemplate().save();
}