From 4e039df446f6f9349dd0c89f19055c8429f2e3fd Mon Sep 17 00:00:00 2001 From: Sean Gilligan Date: Tue, 12 Sep 2023 10:50:23 -0700 Subject: [PATCH] PBKDF2SHA512: make hLen a constant --- core/src/main/java/org/bitcoinj/crypto/PBKDF2SHA512.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/core/src/main/java/org/bitcoinj/crypto/PBKDF2SHA512.java b/core/src/main/java/org/bitcoinj/crypto/PBKDF2SHA512.java index 94671e117..2a0e9eddc 100644 --- a/core/src/main/java/org/bitcoinj/crypto/PBKDF2SHA512.java +++ b/core/src/main/java/org/bitcoinj/crypto/PBKDF2SHA512.java @@ -37,16 +37,17 @@ import java.nio.charset.StandardCharsets; * @see PBKDF2 – Pure Java Implementation by Cryptofreek */ public class PBKDF2SHA512 { + // Length of HMAC result + private static final int H_LEN = 64; + public static byte[] derive(String P, String S, int c, int dkLen) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); try { - int hLen = 64; // Length of HMAC result - - if (dkLen > ((Math.pow(2, 32)) - 1) * hLen) { + if (dkLen > ((Math.pow(2, 32)) - 1) * H_LEN) { throw new IllegalArgumentException("derived key too long"); } else { - int l = (int) Math.ceil((double) dkLen / (double) hLen); + int l = (int) Math.ceil((double) dkLen / (double) H_LEN); // int r = dkLen - (l-1)*hLen; for (int i = 1; i <= l; i++) {