Skip to content

Commit ffbcaca

Browse files
committed
Update reference for PasswordEncoders
Issue gh-10506
1 parent c50441b commit ffbcaca

File tree

2 files changed

+20
-12
lines changed

2 files changed

+20
-12
lines changed

docs/modules/ROOT/pages/features/authentication/password-storage.adoc

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,12 @@ String idForEncode = "bcrypt";
9393
Map encoders = new HashMap<>();
9494
encoders.put(idForEncode, new BCryptPasswordEncoder());
9595
encoders.put("noop", NoOpPasswordEncoder.getInstance());
96-
encoders.put("pbkdf2", new Pbkdf2PasswordEncoder());
97-
encoders.put("scrypt", new SCryptPasswordEncoder());
96+
encoders.put("pbkdf2", Pbkdf2PasswordEncoder.defaultsForSpringSecurity_v5_5());
97+
encoders.put("pbkdf2@SpringSecurity_v5_8", Pbkdf2PasswordEncoder.defaultsForSpringSecurity_v5_8());
98+
encoders.put("scrypt", SCryptPasswordEncoder.defaultsForSpringSecurity_v4_1());
99+
encoders.put("scrypt@SpringSecurity_v5_8", SCryptPasswordEncoder.defaultsForSpringSecurity_v5_8());
100+
encoders.put("argon2", Argon2PasswordEncoder.defaultsForSpringSecurity_v5_2());
101+
encoders.put("argon2@SpringSecurity_v5_8", Argon2PasswordEncoder.defaultsForSpringSecurity_v5_8());
98102
encoders.put("sha256", new StandardPasswordEncoder());
99103
100104
PasswordEncoder passwordEncoder =
@@ -108,8 +112,12 @@ val idForEncode = "bcrypt"
108112
val encoders: MutableMap<String, PasswordEncoder> = mutableMapOf()
109113
encoders[idForEncode] = BCryptPasswordEncoder()
110114
encoders["noop"] = NoOpPasswordEncoder.getInstance()
111-
encoders["pbkdf2"] = Pbkdf2PasswordEncoder()
112-
encoders["scrypt"] = SCryptPasswordEncoder()
115+
encoders["pbkdf2"] = Pbkdf2PasswordEncoder.defaultsForSpringSecurity_v5_5()
116+
encoders["pbkdf2@SpringSecurity_v5_8"] = Pbkdf2PasswordEncoder.defaultsForSpringSecurity_v5_8()
117+
encoders["scrypt"] = SCryptPasswordEncoder.defaultsForSpringSecurity_v4_1()
118+
encoders["scrypt@SpringSecurity_v5_8"] = SCryptPasswordEncoder.defaultsForSpringSecurity_v5_8()
119+
encoders["argon2"] = Argon2PasswordEncoder.defaultsForSpringSecurity_v5_2()
120+
encoders["argon2@SpringSecurity_v5_8"] = Argon2PasswordEncoder.defaultsForSpringSecurity_v5_8()
113121
encoders["sha256"] = StandardPasswordEncoder()
114122
115123
val passwordEncoder: PasswordEncoder = DelegatingPasswordEncoder(idForEncode, encoders)
@@ -363,7 +371,7 @@ The current implementation of the `Argon2PasswordEncoder` requires BouncyCastle.
363371
[source,java,role="primary"]
364372
----
365373
// Create an encoder with all the defaults
366-
Argon2PasswordEncoder encoder = new Argon2PasswordEncoder();
374+
Argon2PasswordEncoder encoder = Argon2PasswordEncoder.defaultsForSpringSecurity_v5_8();
367375
String result = encoder.encode("myPassword");
368376
assertTrue(encoder.matches("myPassword", result));
369377
----
@@ -372,7 +380,7 @@ assertTrue(encoder.matches("myPassword", result));
372380
[source,kotlin,role="secondary"]
373381
----
374382
// Create an encoder with all the defaults
375-
val encoder = Argon2PasswordEncoder()
383+
val encoder = Argon2PasswordEncoder.defaultsForSpringSecurity_v5_8()
376384
val result: String = encoder.encode("myPassword")
377385
assertTrue(encoder.matches("myPassword", result))
378386
----
@@ -392,7 +400,7 @@ This algorithm is a good choice when FIPS certification is required.
392400
[source,java,role="primary"]
393401
----
394402
// Create an encoder with all the defaults
395-
Pbkdf2PasswordEncoder encoder = new Pbkdf2PasswordEncoder();
403+
Pbkdf2PasswordEncoder encoder = Pbkdf2PasswordEncoder.defaultsForSpringSecurity_v5_8();
396404
String result = encoder.encode("myPassword");
397405
assertTrue(encoder.matches("myPassword", result));
398406
----
@@ -401,7 +409,7 @@ assertTrue(encoder.matches("myPassword", result));
401409
[source,kotlin,role="secondary"]
402410
----
403411
// Create an encoder with all the defaults
404-
val encoder = Pbkdf2PasswordEncoder()
412+
val encoder = Pbkdf2PasswordEncoder.defaultsForSpringSecurity_v5_8()
405413
val result: String = encoder.encode("myPassword")
406414
assertTrue(encoder.matches("myPassword", result))
407415
----
@@ -420,7 +428,7 @@ Like other adaptive one-way functions, it should be tuned to take about 1 second
420428
[source,java,role="primary"]
421429
----
422430
// Create an encoder with all the defaults
423-
SCryptPasswordEncoder encoder = new SCryptPasswordEncoder();
431+
SCryptPasswordEncoder encoder = SCryptPasswordEncoder.defaultsForSpringSecurity_v5_8();
424432
String result = encoder.encode("myPassword");
425433
assertTrue(encoder.matches("myPassword", result));
426434
----
@@ -429,7 +437,7 @@ assertTrue(encoder.matches("myPassword", result));
429437
[source,kotlin,role="secondary"]
430438
----
431439
// Create an encoder with all the defaults
432-
val encoder = SCryptPasswordEncoder()
440+
val encoder = SCryptPasswordEncoder.defaultsForSpringSecurity_v5_8()
433441
val result: String = encoder.encode("myPassword")
434442
assertTrue(encoder.matches("myPassword", result))
435443
----

docs/modules/ROOT/pages/features/integrations/cryptography.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ In order to defeat password cracking PBKDF2 is a deliberately slow algorithm and
251251
[source,java,role="primary"]
252252
----
253253
// Create an encoder with all the defaults
254-
Pbkdf2PasswordEncoder encoder = new Pbkdf2PasswordEncoder();
254+
Pbkdf2PasswordEncoder encoder = Pbkdf2PasswordEncoder.defaultsForSpringSecurity_v5_8();
255255
String result = encoder.encode("myPassword");
256256
assertTrue(encoder.matches("myPassword", result));
257257
----
@@ -260,7 +260,7 @@ assertTrue(encoder.matches("myPassword", result));
260260
[source,kotlin,role="secondary"]
261261
----
262262
// Create an encoder with all the defaults
263-
val encoder = Pbkdf2PasswordEncoder()
263+
val encoder = Pbkdf2PasswordEncoder.defaultsForSpringSecurity_v5_8()
264264
val result: String = encoder.encode("myPassword")
265265
assertTrue(encoder.matches("myPassword", result))
266266
----

0 commit comments

Comments
 (0)