Sha1Encrypt() 공개 정적인 메소드

public static Sha1Encrypt ( string baseString, string keyString ) : string
baseString string
keyString string
리턴 string
예제 #1
0
        public string OAuthCalculateSignatureForCalls(string method, string url, Dictionary <string, string> parameters, string tokenSecret)
        {
            string baseString = "";
            string key        = ApiSecret + "&" + tokenSecret;

            byte[] keyBytes = System.Text.Encoding.UTF8.GetBytes(key);


            var sorted = parameters.OrderBy(p => p.Key);


            StringBuilder sb = new StringBuilder();

            foreach (KeyValuePair <string, string> pair in sorted)
            {
                if (pair.Key.StartsWith("method"))
                {
                }
                else
                {
                    sb.Append(pair.Key);
                    sb.Append("=");
                    sb.Append(UtilityMethods.EscapeOAuthString(pair.Value));
                    sb.Append("&");
                }
            }

            sb.Remove(sb.Length - 1, 1);

            baseString = method + "&" + UtilityMethods.EscapeOAuthString(url) + "&" + UtilityMethods.EscapeOAuthString(sb.ToString());
            //baseString = method + "&" + UtilityMethods.EscapeOAuthString(url);



            //System.Security.Cryptography.HMACSHA1 sha1 = new System.Security.Cryptography.HMACSHA1(keyBytes);


            //byte[] hashBytes = sha1.ComputeHash(System.Text.Encoding.UTF8.GetBytes(baseString));

            //string hash = Convert.ToBase64String(hashBytes);
            string hash = UtilityMethods.Sha1Encrypt(baseString, key);

            Debug.WriteLine("key  = " + key);
            Debug.WriteLine("base = " + baseString);
            Debug.WriteLine("sig  = " + hash);

            return(hash);
        }