From d28ae01cf065f17731931d9e434a4689d4778c67 Mon Sep 17 00:00:00 2001 From: Looly Date: Wed, 23 Sep 2020 13:23:34 +0800 Subject: [PATCH] fix bug --- CHANGELOG.md | 2 ++ .../java/cn/hutool/crypto/symmetric/RC4.java | 16 ++++++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d18fab703..ce3302cd5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,8 @@ * 【core 】 Convert.toNumber支持类似12.2F这种形式字符串转换(issue#I1VYLJ@Gitee) * 【core 】 使用静态变量替换999等(issue#I1W8IB@Gitee) * 【core 】 URLUtil自动trim(issue#I1W803@Gitee) +* 【crypto 】 RC4增加ecrypt(pr#1108@Github) +* 【core 】 CharUtil and StrUtil增加@(pr#1106@Github) ### Bug修复 * 【crypto 】 修复SM2验签后无法解密问题(issue#I1W0VP@Gitee) diff --git a/hutool-crypto/src/main/java/cn/hutool/crypto/symmetric/RC4.java b/hutool-crypto/src/main/java/cn/hutool/crypto/symmetric/RC4.java index 5219a4f0b..13fb145f1 100644 --- a/hutool-crypto/src/main/java/cn/hutool/crypto/symmetric/RC4.java +++ b/hutool-crypto/src/main/java/cn/hutool/crypto/symmetric/RC4.java @@ -1,11 +1,5 @@ package cn.hutool.crypto.symmetric; -import java.io.Serializable; -import java.nio.charset.Charset; -import java.util.concurrent.locks.ReentrantReadWriteLock; -import java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock; -import java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock; - import cn.hutool.core.codec.Base64; import cn.hutool.core.util.CharsetUtil; import cn.hutool.core.util.HexUtil; @@ -13,6 +7,12 @@ import cn.hutool.core.util.StrUtil; import cn.hutool.crypto.CryptoException; import cn.hutool.crypto.SecureUtil; +import java.io.Serializable; +import java.nio.charset.Charset; +import java.util.concurrent.locks.ReentrantReadWriteLock; +import java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock; +import java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock; + /** * RC4加密解密算法实现
* 来自:https://github.com/xSAVIKx/RC4-cipher/blob/master/src/main/java/com/github/xsavikx/rc4/RC4.java @@ -103,6 +103,7 @@ public class RC4 implements Serializable { * * @param data 被加密的字符串 * @return 加密后的Hex + * @since 5.4.4 */ public String encryptHex(String data) { return HexUtil.encodeHexStr(encrypt(data)); @@ -126,6 +127,7 @@ public class RC4 implements Serializable { * * @param data 被加密的字符串 * @return 加密后的Base64 + * @since 5.4.4 */ public String encryptBase64(String data) { return Base64.encode(encrypt(data)); @@ -159,6 +161,7 @@ public class RC4 implements Serializable { * * @param message 消息 * @return 明文 + * @since 5.4.4 */ public String decrypt(String message) { return decrypt(SecureUtil.decode(message)); @@ -170,6 +173,7 @@ public class RC4 implements Serializable { * @param message 明文 * @param charset 解密后的charset * @return 明文 + * @since 5.4.4 */ public String decrypt(String message, Charset charset) { return StrUtil.str(decrypt(message), charset);