C#處理SHA1加密和Signature簽名驗(yàn)證

多用于手機(jī)APP接口加密

可限制請(qǐng)求有效時(shí)間



       /// <summary>
        /// 檢驗(yàn)signature
        /// </summary>
        /// <param name="signature">加密簽名</param>
        /// <param name="timestamp">時(shí)間戳</param>
        /// <param name="token">密鑰</param>
        /// <returns></returns>
        public static bool CheckSignature(string signature, string timestamp, string token)
        {
            string strResult = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(token   timestamp, "SHA1");
            return signature.Equals(strResult, StringComparison.InvariantCultureIgnoreCase);
        }
        //SHA1加密
        public static String GetHash(String input)
        {
            //建立SHA1對(duì)象
            SHA1 sha = new SHA1CryptoServiceProvider();

            //將mystr轉(zhuǎn)換成byte[]
            UTF8Encoding enc = new UTF8Encoding();
            byte[] dataToHash = enc.GetBytes(input);

            //Hash運(yùn)算
            byte[] dataHashed = sha.ComputeHash(dataToHash);

            //將運(yùn)算結(jié)果轉(zhuǎn)換成string
            string hash = BitConverter.ToString(dataHashed).Replace("-", "");

            return hash;
        }


原文鏈接:C#處理SHA1加密和Signature簽名驗(yàn)證