]> WPIA git - gigi.git/commitdiff
Merge remote-tracking branch 'origin/libs/scrypt/local'
authorFelix Dörre <felix@dogcraft.de>
Sun, 1 Mar 2015 00:33:57 +0000 (01:33 +0100)
committerFelix Dörre <felix@dogcraft.de>
Sun, 1 Mar 2015 00:33:57 +0000 (01:33 +0100)
lib/scrypt/com/lambdaworks/crypto/SCrypt.java
lib/scrypt/com/lambdaworks/crypto/SCryptUtil.java

index 9b2129738730f6e01676a7c89327616ae2d5e8fa..f2e97897bfa8860efed87891c083c319a3d553f9 100644 (file)
@@ -103,6 +103,12 @@ public class SCrypt {
         if (N < 2 || (N & (N - 1)) != 0) {
             throw new IllegalArgumentException("N must be a power of 2 greater than 1");
         }
+        if (r <= 0) {
+            throw new IllegalArgumentException("Parameter r zero or negative");
+        }
+        if (p <= 0) {
+            throw new IllegalArgumentException("Parameter p zero or negative");
+        }
 
         if (N > MAX_VALUE / 128 / r) {
             throw new IllegalArgumentException("Parameter N is too large");
index 6d794000d44bdb682a7a9fedc7dee918ceaf3632..808d69f472a95c4ff779b7912a3b1888b7ed59d5 100644 (file)
@@ -89,6 +89,9 @@ public class SCryptUtil {
             int N = (int) Math.pow(2, params >> 16 & 0xffff);
             int r = (int) params >> 8 & 0xff;
             int p = (int) params & 0xff;
+            if (r == 0 || p == 0) {
+                return false;
+            }
 
             byte[] derived1 = SCrypt.scrypt(passwd.getBytes("UTF-8"), salt, N, r, p, 32);