コード例 #1
0
ファイル: BceObject.cs プロジェクト: xiaopohou/SMS
 /// <summary>
 /// 获取 signingKey。百度云不直接使用SK对待签名串生成摘要。相反的,百度云首先使用SK和认证字符串前缀生成signingKey,然后用signingKey对待签名串生成摘要。
 /// </summary>
 /// <param name="secretAccessKey">用户SK</param>
 /// <param name="authStringPrefix">认证字符串的前缀部分</param>
 /// <returns></returns>
 private static string GetSigningKeyByHMACSHA256HEX(string secretAccessKey, string authStringPrefix)
 {
     return(HMACSHA256HashingProvider.Signature(authStringPrefix, secretAccessKey, Encoding.UTF8).ToLower());
     //            HMACSHA256 Livehmacsha256 = new HMACSHA256(Encoding.UTF8.GetBytes(secretAccessKey));
     //            byte[] LiveHash = Livehmacsha256.ComputeHash(Encoding.UTF8.GetBytes(authStringPrefix));
     //            string SigningKey = HashEncode(LiveHash);
     //            return SigningKey;
 }
コード例 #2
0
ファイル: BceObject.cs プロジェクト: xiaopohou/SMS
 /// <summary>
 /// 获取 签名摘要。百度云使用signingKey对canonicalRequest使用HAMC算法计算签名。
 /// </summary>
 /// <param name="signingKey">签名Key。百度云不直接使用SK对待签名串生成摘要。相反的,百度云首先使用SK和认证字符串前缀生成signingKey,然后用signingKey对待签名串生成摘要。</param>
 /// <param name="canonicalRequest">非匿名请求中必须携带的认证信息。包含生成待签名串CanonicalRequest所必须的信息以及签名摘要signature。</param>
 /// <returns></returns>
 private static string GetSignatureByHMACSHA256HEX(string signingKey, string canonicalRequest)
 {
     return(HMACSHA256HashingProvider.Signature(canonicalRequest, signingKey, Encoding.UTF8).ToLower());
     //            HMACSHA256 Livehmacsha256 = new HMACSHA256(Encoding.UTF8.GetBytes(signingKey));
     //            byte[] LiveHash = Livehmacsha256.ComputeHash(Encoding.UTF8.GetBytes(canonicalRequest));
     //            string Signature = HashEncode(LiveHash);
     //            return Signature;
 }
コード例 #3
0
ファイル: SignatureHelper.cs プロジェクト: xiaopohou/SMS
 /// <summary>
 /// To varify signature
 /// documentation: http://sendcloud.sohu.com/doc/sms/#smshook
 /// </summary>
 /// <param name="key"></param>
 /// <param name="token"></param>
 /// <param name="timestamp"></param>
 /// <param name="signature"></param>
 /// <returns></returns>
 public static bool HookVerify(string key, string token, long timestamp, string signature)
 => HMACSHA256HashingProvider.Verify(signature, $"{timestamp}{token}", key, Encoding.UTF8);
コード例 #4
0
        public void HmacSha256Test()
        {
            var signature = HMACSHA256HashingProvider.Signature("image", "alexinea");

            Assert.Equal("8A51972243A890448E2054424D09EC87F68DEE753CA4EF64A4907107F1EF7917", signature);
        }
コード例 #5
0
ファイル: HmacTest.cs プロジェクト: yang033/Bing.Encryption
 public void Test_HmacSha256()
 {
     var signature = HMACSHA256HashingProvider.Signature("image", "jianxuanbing");
     Output.WriteLine(signature);
     Assert.Equal("0786D94B4433473587B2DC8ED9E0813CC714A953B2604CE69EBBA9BCDD62CB2E", signature);
 }