From 0fe431fc78926963f9dc641072f8d3ecdf5ff4f9 Mon Sep 17 00:00:00 2001 From: Binary Wang Date: Sat, 10 Jun 2017 17:19:10 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=9F=E6=88=90sha1=E7=AD=BE=E5=90=8D?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E5=8A=A0=E5=85=A5=E5=8F=82=E6=95=B0=E5=88=A4?= =?UTF-8?q?=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../weixin/common/util/crypto/SHA1.java | 5 +++ .../weixin/common/util/crypto/SHA1Test.java | 36 +++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 weixin-java-common/src/test/java/me/chanjar/weixin/common/util/crypto/SHA1Test.java diff --git a/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/crypto/SHA1.java b/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/crypto/SHA1.java index 36aa1e7e0..f2e6bd1e8 100644 --- a/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/crypto/SHA1.java +++ b/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/crypto/SHA1.java @@ -1,6 +1,7 @@ package me.chanjar.weixin.common.util.crypto; import org.apache.commons.codec.digest.DigestUtils; +import org.apache.commons.lang3.StringUtils; import java.util.Arrays; @@ -13,6 +14,10 @@ public class SHA1 { * 串接arr参数,生成sha1 digest */ public static String gen(String... arr) { + if (StringUtils.isAnyEmpty(arr)) { + throw new IllegalArgumentException("非法请求参数,有部分参数为空 : " + Arrays.toString(arr)); + } + Arrays.sort(arr); StringBuilder sb = new StringBuilder(); for (String a : arr) { diff --git a/weixin-java-common/src/test/java/me/chanjar/weixin/common/util/crypto/SHA1Test.java b/weixin-java-common/src/test/java/me/chanjar/weixin/common/util/crypto/SHA1Test.java new file mode 100644 index 000000000..323fc7060 --- /dev/null +++ b/weixin-java-common/src/test/java/me/chanjar/weixin/common/util/crypto/SHA1Test.java @@ -0,0 +1,36 @@ +package me.chanjar.weixin.common.util.crypto; + +import org.testng.annotations.Test; + +import static org.testng.Assert.assertEquals; +import static org.testng.Assert.assertNotNull; + +/** + *
+ *  Created by BinaryWang on 2017/6/10.
+ * 
+ * + * @author binarywang(Binary Wang) + */ +public class SHA1Test { + @Test + public void testGen() throws Exception { + final String result = SHA1.gen("123", "345"); + assertNotNull(result); + assertEquals(result,"9f537aeb751ec72605f57f94a2f6dc3e3958e1dd"); + } + + @Test(expectedExceptions = {IllegalArgumentException.class}) + public void testGen_illegalArguments() { + final String result = SHA1.gen(null, "", "345"); + assertNotNull(result); + } + + @Test + public void testGenWithAmple() throws Exception { + final String result = SHA1.genWithAmple("123", "345"); + assertNotNull(result); + assertEquals(result,"20b896ccbd5a72dde5dbe0878ff985e4069771c6"); + } + +}