diff --git a/src/main/java/helpers/ScryptHelper.java b/src/main/java/helpers/ScryptHelper.java index 99a7906..418087d 100644 --- a/src/main/java/helpers/ScryptHelper.java +++ b/src/main/java/helpers/ScryptHelper.java @@ -107,7 +107,7 @@ return false; } } - + boolean result = MessageDigest.isEqual(cHash, hash); Arrays.fill(salt, (byte) 0); @@ -136,13 +136,11 @@ } } - private static int log2(int operand) { - double log2 = Math.log(operand) / Math.log(2); - if (log2 % 1 != 0) { - throw new IllegalArgumentException("N must be a power of 2."); - } else { - return Math.toIntExact(Math.round(log2)); + private static int log2(int n) { + if (n <= 0 || (n & (n - 1)) != 0) { + throw new IllegalArgumentException("N must be a power of 2"); } + return Integer.numberOfTrailingZeros(n); } /*