From 74e654b82c53e9dfd4410ed64cf53168e35753f8 Mon Sep 17 00:00:00 2001 From: FongMi Date: Tue, 23 Jul 2024 11:24:51 +0800 Subject: [PATCH] Update Crypto.java --- quickjs/src/main/java/com/fongmi/quickjs/utils/Crypto.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/quickjs/src/main/java/com/fongmi/quickjs/utils/Crypto.java b/quickjs/src/main/java/com/fongmi/quickjs/utils/Crypto.java index 22d4b628b..44357c97d 100644 --- a/quickjs/src/main/java/com/fongmi/quickjs/utils/Crypto.java +++ b/quickjs/src/main/java/com/fongmi/quickjs/utils/Crypto.java @@ -38,7 +38,7 @@ public class Crypto { SecretKeySpec keySpec = new SecretKeySpec(keyBuf, "AES"); if (iv == null) cipher.init(encrypt ? Cipher.ENCRYPT_MODE : Cipher.DECRYPT_MODE, keySpec); else cipher.init(encrypt ? Cipher.ENCRYPT_MODE : Cipher.DECRYPT_MODE, keySpec, new IvParameterSpec(ivBuf)); - byte[] inBuf = inBase64 ? Base64.decode(input, Base64.DEFAULT | Base64.URL_SAFE) : input.getBytes("UTF-8"); + byte[] inBuf = inBase64 ? Base64.decode(input.replaceAll("_", "/").replaceAll("-", "+"), Base64.DEFAULT) : input.getBytes("UTF-8"); return outBase64 ? Base64.encodeToString(cipher.doFinal(inBuf), Base64.NO_WRAP) : new String(cipher.doFinal(inBuf), "UTF-8"); } catch (Exception e) { e.printStackTrace(); @@ -51,7 +51,7 @@ public class Crypto { Key rsaKey = generateKey(pub, key); int len = getModulusLength(rsaKey); byte[] outBytes = new byte[0]; - byte[] inBytes = inBase64 ? Base64.decode(input, Base64.DEFAULT | Base64.URL_SAFE) : input.getBytes("UTF-8"); + byte[] inBytes = inBase64 ? Base64.decode(input.replaceAll("_", "/").replaceAll("-", "+"), Base64.DEFAULT) : input.getBytes("UTF-8"); Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding"); cipher.init(encrypt ? Cipher.ENCRYPT_MODE : Cipher.DECRYPT_MODE, rsaKey); int blockLen = encrypt ? len / 8 - 11 : len / 8;