package cn.com.tenlion.buildingpictures.util;

import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

/**
 * SHA1加密
 */
public class SHA1Utils {


    public static void main(String[] args) throws Exception {
        String shaEncode = shaEncode("jsapi_ticket=sM4AOVdWfPE4DxkXGEs8VPaIYw0hBLm4ZNa4qYC4JTh-FISZ6Y7pfYAsxqKWCHxuELRUyHnzyzsjeY-L1qLOcg&noncestr=aea013299bb54f6ca&timestamp=1629451241&url=https://cbc.wgink.ink/systemcard/app/cardconfigarticle/listrelease");
        System.out.println(shaEncode);
    }

    /**
     * @Comment SHA1实现
     * @Author 崔宝铖
     * @Date 2021年8月20日14:43:25
     * @return
     */
    public static String shaEncode(String str) throws Exception {
        try {
            MessageDigest digest = java.security.MessageDigest
                    .getInstance("SHA-1"); //如果是SHA加密只需要将"SHA-1"改成"SHA"即可
            digest.update(str.getBytes());
            byte messageDigest[] = digest.digest();
            // Create Hex String
            StringBuffer hexStr = new StringBuffer();
            // 字节数组转换为 十六进制 数
            for (int i = 0; i < messageDigest.length; i++) {
                String shaHex = Integer.toHexString(messageDigest[i] & 0xFF);
                if (shaHex.length() < 2) {
                    hexStr.append(0);
                }
                hexStr.append(shaHex);
            }
            return hexStr.toString();
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
        return null;
    }

}
