فهرست منبع

扩展core-solar,为org对象增加第三方接口鉴权AK生成方法,并同步在ByteArray增加hmac-sha256方法的快捷方法

Signed-off-by: luoshi <luoshi@qmth.com.cn>
luoshi 7 ماه پیش
والد
کامیت
16a9477ab4

+ 21 - 0
core-solar/src/main/java/com/qmth/boot/core/solar/model/OrgInfo.java

@@ -3,6 +3,7 @@ package com.qmth.boot.core.solar.model;
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.qmth.boot.core.solar.enums.OrgType;
 import com.qmth.boot.tools.codec.CodecUtils;
+import com.qmth.boot.tools.models.ByteArray;
 
 import java.io.Serializable;
 
@@ -110,4 +111,24 @@ public class OrgInfo implements Serializable {
     public void setAccessSecret(String accessSecret) {
         this.accessSecret = accessSecret;
     }
+
+    /**
+     * 返回第三方接口访问鉴权使用的key
+     *
+     * @return
+     */
+    @JsonIgnore
+    public String getThirdPartyKey() {
+        return code;
+    }
+
+    /**
+     * 返回第三方接口访问鉴权使用的secret
+     *
+     * @return
+     */
+    @JsonIgnore
+    public String getThirdPartySecret() {
+        return ByteArray.hmacsha256(accessKey, accessSecret).toHexString().toLowerCase();
+    }
 }

+ 12 - 0
tools-common/src/main/java/com/qmth/boot/tools/models/ByteArray.java

@@ -193,6 +193,18 @@ public class ByteArray {
         return new ByteArray(CodecUtils.sha256(value));
     }
 
+    /**
+     * HMAC-SHA256加密摘要并返回byte[]
+     *
+     * @param key   密钥字符串
+     * @param value 原始字符串
+     * @return
+     */
+    public static ByteArray hmacsha256(String key, String value) {
+        return new ByteArray(
+                CodecUtils.hmacsha256(key.getBytes(StandardCharsets.UTF_8), value.getBytes(StandardCharsets.UTF_8)));
+    }
+
     /**
      * byte[]转String,使用UTF8
      *