mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-07-21 15:09:48 +08:00
add sortJoin
This commit is contained in:
@@ -24,6 +24,7 @@ import cn.hutool.core.codec.Base64;
|
||||
import cn.hutool.core.io.FileUtil;
|
||||
import cn.hutool.core.lang.Validator;
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import cn.hutool.core.util.ArrayUtil;
|
||||
import cn.hutool.core.util.HexUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
@@ -825,13 +826,14 @@ public final class SecureUtil {
|
||||
* 参数签名为对Map参数按照key的顺序排序后拼接为字符串,然后根据提供的签名算法生成签名字符串<br>
|
||||
* 拼接后的字符串键值对之间无符号,键值对之间无符号,忽略null值
|
||||
*
|
||||
* @param crypto 对称加密算法
|
||||
* @param params 参数
|
||||
* @param crypto 对称加密算法
|
||||
* @param params 参数
|
||||
* @param otherParams 其它附加参数字符串(例如密钥)
|
||||
* @return 签名
|
||||
* @since 4.0.1
|
||||
*/
|
||||
public static String signParams(SymmetricCrypto crypto, Map<?, ?> params) {
|
||||
return signParams(crypto, params, StrUtil.EMPTY, StrUtil.EMPTY, true);
|
||||
public static String signParams(SymmetricCrypto crypto, Map<?, ?> params, String... otherParams) {
|
||||
return signParams(crypto, params, StrUtil.EMPTY, StrUtil.EMPTY, true, otherParams);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -843,15 +845,13 @@ public final class SecureUtil {
|
||||
* @param separator entry之间的连接符
|
||||
* @param keyValueSeparator kv之间的连接符
|
||||
* @param isIgnoreNull 是否忽略null的键和值
|
||||
* @param otherParams 其它附加参数字符串(例如密钥)
|
||||
* @return 签名
|
||||
* @since 4.0.1
|
||||
*/
|
||||
public static String signParams(SymmetricCrypto crypto, Map<?, ?> params, String separator, String keyValueSeparator, boolean isIgnoreNull) {
|
||||
if (MapUtil.isEmpty(params)) {
|
||||
return null;
|
||||
}
|
||||
String paramsStr = MapUtil.join(MapUtil.sort(params), separator, keyValueSeparator, isIgnoreNull);
|
||||
return crypto.encryptHex(paramsStr);
|
||||
public static String signParams(SymmetricCrypto crypto, Map<?, ?> params, String separator,
|
||||
String keyValueSeparator, boolean isIgnoreNull, String... otherParams) {
|
||||
return crypto.encryptHex(MapUtil.sortJoin(params, separator, keyValueSeparator, isIgnoreNull, otherParams));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -859,12 +859,13 @@ public final class SecureUtil {
|
||||
* 参数签名为对Map参数按照key的顺序排序后拼接为字符串,然后根据提供的签名算法生成签名字符串<br>
|
||||
* 拼接后的字符串键值对之间无符号,键值对之间无符号,忽略null值
|
||||
*
|
||||
* @param params 参数
|
||||
* @param params 参数
|
||||
* @param otherParams 其它附加参数字符串(例如密钥)
|
||||
* @return 签名
|
||||
* @since 4.0.1
|
||||
*/
|
||||
public static String signParamsMd5(Map<?, ?> params) {
|
||||
return signParams(DigestAlgorithm.MD5, params);
|
||||
public static String signParamsMd5(Map<?, ?> params, String... otherParams) {
|
||||
return signParams(DigestAlgorithm.MD5, params, otherParams);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -872,12 +873,13 @@ public final class SecureUtil {
|
||||
* 参数签名为对Map参数按照key的顺序排序后拼接为字符串,然后根据提供的签名算法生成签名字符串<br>
|
||||
* 拼接后的字符串键值对之间无符号,键值对之间无符号,忽略null值
|
||||
*
|
||||
* @param params 参数
|
||||
* @param params 参数
|
||||
* @param otherParams 其它附加参数字符串(例如密钥)
|
||||
* @return 签名
|
||||
* @since 4.0.8
|
||||
*/
|
||||
public static String signParamsSha1(Map<?, ?> params) {
|
||||
return signParams(DigestAlgorithm.SHA1, params);
|
||||
public static String signParamsSha1(Map<?, ?> params, String... otherParams) {
|
||||
return signParams(DigestAlgorithm.SHA1, params, otherParams);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -885,12 +887,13 @@ public final class SecureUtil {
|
||||
* 参数签名为对Map参数按照key的顺序排序后拼接为字符串,然后根据提供的签名算法生成签名字符串<br>
|
||||
* 拼接后的字符串键值对之间无符号,键值对之间无符号,忽略null值
|
||||
*
|
||||
* @param params 参数
|
||||
* @param params 参数
|
||||
* @param otherParams 其它附加参数字符串(例如密钥)
|
||||
* @return 签名
|
||||
* @since 4.0.1
|
||||
*/
|
||||
public static String signParamsSha256(Map<?, ?> params) {
|
||||
return signParams(DigestAlgorithm.SHA256, params);
|
||||
public static String signParamsSha256(Map<?, ?> params, String... otherParams) {
|
||||
return signParams(DigestAlgorithm.SHA256, params, otherParams);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -900,11 +903,12 @@ public final class SecureUtil {
|
||||
*
|
||||
* @param digestAlgorithm 摘要算法
|
||||
* @param params 参数
|
||||
* @param otherParams 其它附加参数字符串(例如密钥)
|
||||
* @return 签名
|
||||
* @since 4.0.1
|
||||
*/
|
||||
public static String signParams(DigestAlgorithm digestAlgorithm, Map<?, ?> params) {
|
||||
return signParams(digestAlgorithm, params, StrUtil.EMPTY, StrUtil.EMPTY, true);
|
||||
public static String signParams(DigestAlgorithm digestAlgorithm, Map<?, ?> params, String... otherParams) {
|
||||
return signParams(digestAlgorithm, params, StrUtil.EMPTY, StrUtil.EMPTY, true, otherParams);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -916,15 +920,13 @@ public final class SecureUtil {
|
||||
* @param separator entry之间的连接符
|
||||
* @param keyValueSeparator kv之间的连接符
|
||||
* @param isIgnoreNull 是否忽略null的键和值
|
||||
* @param otherParams 其它附加参数字符串(例如密钥)
|
||||
* @return 签名
|
||||
* @since 4.0.1
|
||||
*/
|
||||
public static String signParams(DigestAlgorithm digestAlgorithm, Map<?, ?> params, String separator, String keyValueSeparator, boolean isIgnoreNull) {
|
||||
if (MapUtil.isEmpty(params)) {
|
||||
return null;
|
||||
}
|
||||
final String paramsStr = MapUtil.join(MapUtil.sort(params), separator, keyValueSeparator, isIgnoreNull);
|
||||
return new Digester(digestAlgorithm).digestHex(paramsStr);
|
||||
public static String signParams(DigestAlgorithm digestAlgorithm, Map<?, ?> params, String separator,
|
||||
String keyValueSeparator, boolean isIgnoreNull, String... otherParams) {
|
||||
return new Digester(digestAlgorithm).digestHex(MapUtil.sortJoin(params, separator, keyValueSeparator, isIgnoreNull, otherParams));
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------- UUID
|
||||
|
Reference in New Issue
Block a user