Browse Source

Add MD4 to PasswordEncoderFactories

Issue: gh-4674
pull/4685/head
Rob Winch 9 years ago
parent
commit
7fe41de5eb
  1. 3
      crypto/src/main/java/org/springframework/security/crypto/factory/PasswordEncoderFactories.java
  2. 6
      crypto/src/test/java/org/springframework/security/crypto/factory/PasswordEncoderFactoriesTests.java

3
crypto/src/main/java/org/springframework/security/crypto/factory/PasswordEncoderFactories.java

@ -18,6 +18,7 @@ package org.springframework.security.crypto.factory; @@ -18,6 +18,7 @@ package org.springframework.security.crypto.factory;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.DelegatingPasswordEncoder;
import org.springframework.security.crypto.password.Md4PasswordEncoder;
import org.springframework.security.crypto.password.NoOpPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.security.crypto.password.Pbkdf2PasswordEncoder;
@ -42,6 +43,7 @@ public class PasswordEncoderFactories { @@ -42,6 +43,7 @@ public class PasswordEncoderFactories {
*
* <ul>
* <li>bcrypt - {@link BCryptPasswordEncoder} (Also used for encoding)</li>
* <li>MD4 - {@link Md4PasswordEncoder}</li>
* <li>noop - {@link NoOpPasswordEncoder}</li>
* <li>pbkdf2 - {@link Pbkdf2PasswordEncoder}</li>
* <li>scrypt - {@link SCryptPasswordEncoder}</li>
@ -54,6 +56,7 @@ public class PasswordEncoderFactories { @@ -54,6 +56,7 @@ public class PasswordEncoderFactories {
String encodingId = "bcrypt";
Map<String,PasswordEncoder> encoders = new HashMap<>();
encoders.put(encodingId, new BCryptPasswordEncoder());
encoders.put("MD4", new Md4PasswordEncoder());
encoders.put("noop", NoOpPasswordEncoder.getInstance());
encoders.put("pbkdf2", new Pbkdf2PasswordEncoder());
encoders.put("scrypt", new SCryptPasswordEncoder());

6
crypto/src/test/java/org/springframework/security/crypto/factory/PasswordEncoderFactoriesTests.java

@ -44,6 +44,12 @@ public class PasswordEncoderFactoriesTests { @@ -44,6 +44,12 @@ public class PasswordEncoderFactoriesTests {
assertThat(this.encoder.matches(this.rawPassword, encodedPassword)).isTrue();
}
@Test
public void matchesWhenMd4ThenWorks() {
String encodedPassword = "{MD4}{KYp8/QErWyQemYazZQ8UnWWfbGbkYkVC8qMi0duoA84=}152ce09d3261d2b53cac55b2ea4d1c7a";
assertThat(this.encoder.matches(this.rawPassword, encodedPassword)).isTrue();
}
@Test
public void matchesWhenNoopThenWorks() {
String encodedPassword = "{noop}password";

Loading…
Cancel
Save