Argon2PasswordEncoder (spring-security-docs 6.3.3 API) (2024)

java.lang.Object

org.springframework.security.crypto.argon2.Argon2PasswordEncoder

All Implemented Interfaces:
PasswordEncoder

public class Argon2PasswordEncoderextends Objectimplements PasswordEncoder

Implementation of PasswordEncoder that uses the Argon2 hashing function. Clients can optionally supply the length of the salt to use, the length of the generated hash, a cpu cost parameter, a memory cost parameter and a parallelization parameter.

Note:

The currently implementation uses Bouncy castle which does not exploit parallelism/optimizations that password crackers will, so there is an unnecessary asymmetry between attacker and defender.

Since:
5.3
  • Constructor Details

    • Argon2PasswordEncoder

      publicArgon2PasswordEncoder(intsaltLength, inthashLength, intparallelism, intmemory, intiterations)

      Constructs an Argon2 password encoder with the provided parameters.

      Parameters:
      saltLength - the salt length (in bytes)
      hashLength - the hash length (in bytes)
      parallelism - the parallelism
      memory - the memory cost
      iterations - the number of iterations
  • Method Details

    • defaultsForSpringSecurity_v5_2

      @Deprecatedpublic staticArgon2PasswordEncoderdefaultsForSpringSecurity_v5_2()

      Deprecated.

      Use defaultsForSpringSecurity_v5_8() instead

      Constructs an Argon2 password encoder with a salt length of 16 bytes, a hash length of 32 bytes, parallelism of 1, memory cost of 1 << 12 and 3 iterations.

      Returns:
      the Argon2PasswordEncoder
      Since:
      5.8
    • defaultsForSpringSecurity_v5_8

      public staticArgon2PasswordEncoderdefaultsForSpringSecurity_v5_8()

      Constructs an Argon2 password encoder with a salt length of 16 bytes, a hash length of 32 bytes, parallelism of 1, memory cost of 1 << 14 and 2 iterations.

      Returns:
      the Argon2PasswordEncoder
      Since:
      5.8
    • encode

      publicStringencode(CharSequencerawPassword)

      Description copied from interface:PasswordEncoder

      Encode the raw password. Generally, a good encoding algorithm applies a SHA-1 or greater hash combined with an 8-byte or greater randomly generated salt.

      Specified by:
      encodein interfacePasswordEncoder
    • matches

      publicbooleanmatches(CharSequencerawPassword, StringencodedPassword)

      Description copied from interface:PasswordEncoder

      Verify the encoded password obtained from storage matches the submitted raw password after it too is encoded. Returns true if the passwords match, false if they do not. The stored password itself is never decoded.

      Specified by:
      matchesin interfacePasswordEncoder
      Parameters:
      rawPassword - the raw password to encode and match
      encodedPassword - the encoded password from storage to compare with
      Returns:
      true if the raw password, after encoding, matches the encoded password from storage
    • upgradeEncoding

      publicbooleanupgradeEncoding(StringencodedPassword)

      Description copied from interface:PasswordEncoder

      Returns true if the encoded password should be encoded again for better security, else false. The default implementation always returns false.

      Specified by:
      upgradeEncodingin interfacePasswordEncoder
      Parameters:
      encodedPassword - the encoded password to check
      Returns:
      true if the encoded password should be encoded again for better security, else false.
Argon2PasswordEncoder (spring-security-docs 6.3.3 API) (2024)
Top Articles
How Much Should You Save By Age 30, 40, 50, or 60?
Fair Trade | Department of Trade and Industry Philippines
Uhauldealer.com Login Page
Pnct Terminal Camera
Mountain Dew Bennington Pontoon
Chambersburg star athlete JJ Kelly makes his college decision, and he’s going DI
Frank Lloyd Wright, born 150 years ago, still fascinates
Ixl Elmoreco.com
Craigslist Cars And Trucks For Sale By Owner Indianapolis
10000 Divided By 5
2013 Chevy Cruze Coolant Hose Diagram
Obituary | Shawn Alexander | Russell Funeral Home, Inc.
Culvers Tartar Sauce
Kinkos Whittier
Les Schwab Product Code Lookup
Snow Rider 3D Unblocked Wtf
Urban Dictionary: hungolomghononoloughongous
Dark Chocolate Cherry Vegan Cinnamon Rolls
Bing Chilling Words Romanized
Allentown Craigslist Heavy Equipment
Today Was A Good Day With Lyrics
Busted Mcpherson Newspaper
Mega Personal St Louis
R&S Auto Lockridge Iowa
Bill Remini Obituary
Page 2383 – Christianity Today
Villano Antillano Desnuda
Maine Racer Swap And Sell
Jazz Total Detox Reviews 2022
Dell 22 FHD-Computermonitor – E2222H | Dell Deutschland
Kqelwaob
Pioneer Library Overdrive
Martins Point Patient Portal
Datingscout Wantmatures
Craigslist Cars And Trucks Mcallen
Grand Teton Pellet Stove Control Board
Rvtrader Com Florida
Upstate Ny Craigslist Pets
Flags Half Staff Today Wisconsin
The All-New MyUMobile App - Support | U Mobile
Sig Mlok Bayonet Mount
Kenner And Stevens Funeral Home
Top 40 Minecraft mods to enhance your gaming experience
Conan Exiles Tiger Cub Best Food
Iman Fashion Clearance
John Wick: Kapitel 4 (2023)
Joblink Maine
Identogo Manahawkin
Amourdelavie
Round Yellow Adderall
Cool Math Games Bucketball
Latest Posts
Article information

Author: Mr. See Jast

Last Updated:

Views: 6194

Rating: 4.4 / 5 (55 voted)

Reviews: 94% of readers found this page helpful

Author information

Name: Mr. See Jast

Birthday: 1999-07-30

Address: 8409 Megan Mountain, New Mathew, MT 44997-8193

Phone: +5023589614038

Job: Chief Executive

Hobby: Leather crafting, Flag Football, Candle making, Flying, Poi, Gunsmithing, Swimming

Introduction: My name is Mr. See Jast, I am a open, jolly, gorgeous, courageous, inexpensive, friendly, homely person who loves writing and wants to share my knowledge and understanding with you.