예제 #1
0
        /// <summary>
        /// 远程鉴权
        /// </summary>
        /// <returns></returns>
        public bool AuthRemoteCode()
        {
            App.Current.Dispatcher.BeginInvoke(new Action(() =>
            {
                lblAuthTips.Text = SystemLanguageManager.Instance.ResourceManager.GetString("Authenticating", SystemLanguageManager.Instance.CultureInfo);
            }));

            bool authflag = false;
            var  values   = new List <KeyValuePair <string, string> >();

            string url       = ConfigurationManager.AppSettings["AuthUrl"]; //
            string ukey      = ConfigManager.Instance.Config.UKey;          //
            string macaddrss = SystemInfoUtils.GetMacAddress();
            string type      = "facebook";

            TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
            long     t  = Convert.ToInt64(ts.TotalSeconds);

            string key = ConfigVals.AccessKey.Substring(8, 20);

            if (macaddrss == "" || key == "")
            {
                return(authflag);
            }
            MD5 md5 = new MD5CryptoServiceProvider();

            byte[] result  = Encoding.Default.GetBytes(ukey + macaddrss + type + t.ToString() + key);
            byte[] bytekey = md5.ComputeHash(result);
            string token   = BitConverter.ToString(bytekey).Replace("-", "");

            /*values.Add(new KeyValuePair<string, string>("ukey", ukey));
             * values.Add(new KeyValuePair<string, string>("macadd", macaddrss));
             * values.Add(new KeyValuePair<string, string>("time", t.ToString()));
             * values.Add(new KeyValuePair<string, string>("token", token));*/

            HttpClientHelp httpClient = new HttpClientHelp();
            var            obj        = new JObject()
            {
                { "ukey", ukey }, { "macadd", macaddrss }, { "type", type }, { "time", t.ToString() }, { "token", token.ToLower() }
            };

            authflag = httpClient.PostFunction(url, obj.ToString(Formatting.None), macaddrss, key, ukey);

            return(authflag);
        }
예제 #2
0
파일: AuthForm.cs 프로젝트: qtxtz/WhatsApp
        /// <summary>
        /// 远程鉴权
        /// </summary>
        /// <returns></returns>
        public bool AuthRemoteCode()
        {
            lab_authmsg.Text = "远程鉴权中……";
            bool authflag = false;
            var  values   = new List <KeyValuePair <string, string> >();

            string url       = ConfigurationManager.AppSettings["AuthUrl"];; //
            string ukey      = ConfigurationManager.AppSettings["UKey"];;    //
            string macaddrss = SystemInfoUtils.GetMacAddress();

            TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
            long     t  = Convert.ToInt64(ts.TotalSeconds);

            string key = ConfigVals.AccessKey.Substring(8, 20);

            if (macaddrss == "" || key == "")
            {
                return(authflag);
            }
            MD5 md5 = new MD5CryptoServiceProvider();

            byte[] result  = Encoding.Default.GetBytes(ukey + macaddrss + t.ToString() + key);
            byte[] bytekey = md5.ComputeHash(result);
            string token   = BitConverter.ToString(bytekey).Replace("-", "");

            /*values.Add(new KeyValuePair<string, string>("ukey", ukey));
             * values.Add(new KeyValuePair<string, string>("macadd", macaddrss));
             * values.Add(new KeyValuePair<string, string>("time", t.ToString()));
             * values.Add(new KeyValuePair<string, string>("token", token));*/

            HttpClientHelp httpClient = new HttpClientHelp();
            var            obj        = new JObject()
            {
                { "ukey", ukey }, { "macadd", macaddrss }, { "time", t.ToString() }, { "token", token.ToLower() }
            };

            authflag = httpClient.PostFunction(url, obj.ToString(Formatting.None));

            return(authflag);
        }