diff options
-rw-r--r-- | src/main/java/net/elytrium/limboauth/Settings.java | 1 | ||||
-rw-r--r-- | src/main/java/net/elytrium/limboauth/migration/MigrationHash.java | 4 |
2 files changed, 5 insertions, 0 deletions
diff --git a/src/main/java/net/elytrium/limboauth/Settings.java b/src/main/java/net/elytrium/limboauth/Settings.java index 775976f..23b7215 100644 --- a/src/main/java/net/elytrium/limboauth/Settings.java +++ b/src/main/java/net/elytrium/limboauth/Settings.java @@ -98,6 +98,7 @@ public class Settings extends YamlConfig { "MOON_SHA256 - Moon SHA256(SHA256(password)) that looks like $SHA$hash (no salt)", "SHA256_NO_SALT - SHA256(password) that looks like $SHA$hash (NexAuth)", "SHA512_NO_SALT - SHA512(password) that looks like $SHA$hash (NexAuth)", + "SHA512_P_REVERSED_HASH - SHA512(password) that looks like $SHA$hash$salt (nLogin)", }) public String MIGRATION_HASH = ""; @Comment("Available dimensions: OVERWORLD, NETHER, THE_END") diff --git a/src/main/java/net/elytrium/limboauth/migration/MigrationHash.java b/src/main/java/net/elytrium/limboauth/migration/MigrationHash.java index 5f6cb71..ba20655 100644 --- a/src/main/java/net/elytrium/limboauth/migration/MigrationHash.java +++ b/src/main/java/net/elytrium/limboauth/migration/MigrationHash.java @@ -69,6 +69,10 @@ public enum MigrationHash { SHA512_NO_SALT((hash, password) -> { String[] args = hash.split("\\$"); // $SHA$hash return args.length == 3 && args[2].equals(getDigest(password, "SHA-512")); + }), + SHA512_P_REVERSED_HASH((hash, password) -> { + String[] args = hash.split("\\$"); // $SHA$hash$salt + return args.length == 4 && args[2].equals(getDigest(password + args[3], "SHA-512")); }); private final MigrationHashVerifier verifier; |