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
Can Parents See Internet History on Wi-Fi? - Panda Security
Business Owner Demographics and Statistics [2024]: Number Of Business Owners In The US
Nybe Business Id
Culver's Flavor Of The Day Wilson Nc
Tyrunt
Lesson 1 Homework 5.5 Answer Key
Locate Td Bank Near Me
414-290-5379
Amelia Bissoon Wedding
Craigslist Pikeville Tn
How do you like playing as an antagonist? - Goonstation Forums
Mini Handy 2024: Die besten Mini Smartphones | Purdroid.de
Houses and Apartments For Rent in Maastricht
Bx11
Puretalkusa.com/Amac
Troy Bilt Mower Carburetor Diagram
Azpeople View Paycheck/W2
Popular Chinese Restaurant in Rome Closing After 37 Years
Play Tetris Mind Bender
Stihl Dealer Albuquerque
Barista Breast Expansion
What we lost when Craigslist shut down its personals section
Yu-Gi-Oh Card Database
In hunt for cartel hitmen, Texas Ranger's biggest obstacle may be the border itself (2024)
Log in or sign up to view
Elanco Rebates.com 2022
Syracuse Jr High Home Page
Forager How-to Get Archaeology Items - Dino Egg, Anchor, Fossil, Frozen Relic, Frozen Squid, Kapala, Lava Eel, and More!
Murphy Funeral Home & Florist Inc. Obituaries
Ixl Lausd Northwest
Heavenly Delusion Gif
Tds Wifi Outage
Page 5662 – Christianity Today
Labyrinth enchantment | PoE Wiki
Best Restaurants West Bend
Sofia With An F Mugshot
The Attleboro Sun Chronicle Obituaries
Smite Builds Season 9
Blue Beetle Showtimes Near Regal Evergreen Parkway & Rpx
Reilly Auto Parts Store Hours
Gt500 Forums
Beds From Rent-A-Center
Aurora Southeast Recreation Center And Fieldhouse Reviews
Headlining Hip Hopper Crossword Clue
Wood River, IL Homes for Sale & Real Estate
De boeken van Val McDermid op volgorde
Barber Gym Quantico Hours
Electric Toothbrush Feature Crossword
Game Like Tales Of Androgyny
7 Sites to Identify the Owner of a Phone Number
login.microsoftonline.com Reviews | scam or legit check
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.