aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/net/elytrium/limboauth
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/elytrium/limboauth')
-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 15e7db0..96687ca 100644
--- a/src/main/java/net/elytrium/limboauth/Settings.java
+++ b/src/main/java/net/elytrium/limboauth/Settings.java
@@ -122,6 +122,7 @@ public class Settings extends YamlConfig {
"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)",
+ "SHA512_NLOGIN - SHA512(SHA512(password) + salt) that looks like $SHA$hash$salt (nLogin)",
})
public MigrationHash MIGRATION_HASH = MigrationHash.AUTHME;
@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 caa4e5f..31949b0 100644
--- a/src/main/java/net/elytrium/limboauth/migration/MigrationHash.java
+++ b/src/main/java/net/elytrium/limboauth/migration/MigrationHash.java
@@ -73,6 +73,10 @@ public enum MigrationHash {
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"));
+ }),
+ SHA512_NLOGIN((hash, password) -> {
+ String[] args = hash.split("\\$"); // $SHA$hash$salt
+ return args.length == 4 && args[2].equals(getDigest(getDigest(password, "SHA-512") + args[3], "SHA-512"));
});
private final MigrationHashVerifier verifier;