aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/net/elytrium/limboauth/Settings.java1
-rw-r--r--src/main/java/net/elytrium/limboauth/migration/MigrationHash.java4
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;