七牛圖片下載之Token生成
阿新 • • 發佈:2019-01-31
package org.Utils; import javax.crypto.Mac; import javax.crypto.SecretKey; import javax.crypto.spec.SecretKeySpec; public class HmacSha1New { private static final String MAC_NAME = "HmacSHA1"; private static final String ENCODING = "UTF-8"; /** * * 這個簽名方法找了半天 一個個對出來的、、、、程式猿辛苦啊、、、 使用 HMAC-SHA1 簽名方法對對encryptText進行簽名 * * @param encryptText * 被簽名的字串 * @param encryptKey * 金鑰 * @return * @throws Exception */ public static byte[] HmacSHA1Encrypt(String encryptText, String encryptKey) throws Exception { byte[] data = encryptKey.getBytes(ENCODING); // 根據給定的位元組陣列構造一個金鑰,第二引數指定一個金鑰演算法的名稱 SecretKey secretKey = new SecretKeySpec(data, MAC_NAME); // 生成一個指定 Mac 演算法 的 Mac 物件 Mac mac = Mac.getInstance(MAC_NAME); // 用給定金鑰初始化 Mac 物件 mac.init(secretKey); byte[] text = encryptText.getBytes(ENCODING); // 完成 Mac 操作 return mac.doFinal(text); } }