using System.Security.Cryptography;
using System.Text;
namespace APT.Utility
{
    public static partial class PolyvSignatureHelper
    {
        /// 
        /// 生成保利威API所需的SHA1签名
        /// 
        /// 保利威提供的secretkey
        /// 参与签名的参数字符串
        /// SHA1签名结果
        public static string GenerateSha1Signature(string signStr)
        {
            // 1. 将secretkey和参数字符串拼接
            //string signStr = secretKey + paramsStr;
            // 2. 创建SHA1实例
            using (SHA1 sha1 = SHA1.Create())
            {
                // 3. 将字符串转换为字节数组
                byte[] bytes = Encoding.UTF8.GetBytes(signStr);
                // 4. 计算哈希值
                byte[] hashBytes = sha1.ComputeHash(bytes);
                // 5. 将字节数组转换为十六进制字符串
                StringBuilder sb = new StringBuilder();
                foreach (byte b in hashBytes)
                {
                    sb.AppendFormat("{0:x2}", b);
                }
                return sb.ToString().ToUpper();
            }
        }
    }
}