Пример #1
0
        /*
         * string str = "你好";
         * var buff = System.Text.Encoding.Unicode.GetBytes(str);
         * string str2 = Convert.ToBase64String(buff);//加密str2
         *                                         //=================下面是解码的部分
         * buff =Convert.FromBase64String(str2);
         *  str=System.Text.Encoding.Unicode.GetString(buff);
         */
        /// <summary>
        /// 生成请求码
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button4_Click_1(object sender, EventArgs e)
        {
            try
            {
                string strendrq  = DateTime.Now.ToString("yyyy-MM-dd");
                string strRandom = NewGuid.NextRandom(10000, 1).ToString();
                string i         = this.textBox1.Text.ToString();
                string n         = this.tbx1.Text.ToString();


                if (string.IsNullOrEmpty(i))
                {
                    MessageBox.Show("请填写企业Id!", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Hand, MessageBoxDefaultButton.Button1);
                    return;
                }

                if (string.IsNullOrEmpty(n))
                {
                    MessageBox.Show("请填写企业名称!", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Hand, MessageBoxDefaultButton.Button1);
                    return;
                }

                var    buff = System.Text.Encoding.Unicode.GetBytes(n);
                string str2 = Convert.ToBase64String(buff);

                JsonParser.JsonRegister jsonRegister = new JsonParser.JsonRegister();
                jsonRegister.I = i;
                jsonRegister.R = strRandom;
                jsonRegister.M = GetModuleCode();
                jsonRegister.N = str2;
                jsonRegister.T = strendrq;

                var registerEntity = new JsonParser.JsonRegister
                {
                    I = EncodeBase32(jsonRegister.I.Trim()),
                    R = EncodeBase32("Y" + jsonRegister.R),
                    M = EncodeBase32(jsonRegister.M),

                    N    = EncodeBase32(jsonRegister.N),
                    T    = EncodeBase32("K" + jsonRegister.T),
                    Info = 0
                };
                string strCode = Newtonsoft.Json.JsonConvert.SerializeObject(registerEntity); //序列化成JSON
                                                                                              //string p = DecodeBase32(registerEntity.P);
                string strEncode32  = EncodeBase32(strCode);
                string strEncode    = RsaEncrypt(strEncode32);
                string strAesEncode = AesClass.AesEncrypt(strEncode);
                this.richTextBox1.Text = strAesEncode;
            }catch (Exception ex)
            {
                MessageBox.Show("操作失败!原因:" + ex.Message, "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Hand, MessageBoxDefaultButton.Button1);
                return;
            }
        }
Пример #2
0
        /// <summary>
        /// 解析请求码
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button1_Click(object sender, EventArgs e)
        {
            string FeedbackCode = this.richTextBox1.Text.ToString().Trim();

            if (FeedbackCode.Trim().Equals(string.Empty) || FeedbackCode.Length == 0)
            {
                MessageBox.Show("无反馈码,请填写反馈码!", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Hand, MessageBoxDefaultButton.Button1);
                return;
            }

            JavaScriptSerializer js = new JavaScriptSerializer();
            string strAesDecode     = AesClass.AesDecrypt(FeedbackCode);
            string strRSADecode     = RsaDecrypt(strAesDecode);
            string strBase32Decode  = DecodeBase32(strRSADecode);

            string str = GetLastStr(strBase32Decode, 1);

            if (str != "}")
            {
                strBase32Decode  = RemoveLastChar(strBase32Decode, ",\"Info\":");
                strBase32Decode += ",\"Info\":0}";
            }

            JsonParser.JsonRegister jsonRegister = js.Deserialize <JsonParser.JsonRegister>(strBase32Decode);
            string jsonRegister_I = DecodeBase32(jsonRegister.I.ToString().Trim());
            string jsonRegister_R = DecodeBase32(jsonRegister.R.ToString().Trim());
            string jsonRegister_M = DecodeBase32(jsonRegister.M.ToString().Trim());

            string jsonRegister_N = DecodeBase32(jsonRegister.N.ToString().Trim());
            string jsonRegister_T = DecodeBase32(jsonRegister.T.ToString().Trim());

            var    buff = Convert.FromBase64String(jsonRegister_N);
            string str2 = System.Text.Encoding.Unicode.GetString(buff);


            jsonRegister.I = jsonRegister_I;
            jsonRegister.R = jsonRegister_R;
            jsonRegister.M = jsonRegister_M;

            jsonRegister.N = str2; // jsonRegister_N;
            jsonRegister.T = jsonRegister_T;

            this.richTextBox3.Text = ConvertJsonString(js.Serialize(jsonRegister));
        }
Пример #3
0
        /// <summary>
        /// 生成激活码
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button2_Click(object sender, EventArgs e)
        {
            string strjsonRegister = this.richTextBox3.Text.ToString().Trim();

            if (strjsonRegister.Trim().Equals(string.Empty) || strjsonRegister.Length == 0)
            {
                MessageBox.Show("请选解析请求码!", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Hand, MessageBoxDefaultButton.Button1);
                return;
            }
            string strendrq = Start_dateTimePicker.Value.ToString("yyyy-MM-dd");

            string strRandom        = NewGuid.NextRandom(10000, 1).ToString();
            JavaScriptSerializer js = new JavaScriptSerializer();

            JsonParser.JsonRegister jsonRegister = js.Deserialize <JsonParser.JsonRegister>(strjsonRegister);

            var    buff = System.Text.Encoding.Unicode.GetBytes(jsonRegister.N.ToString().Trim());
            string str2 = Convert.ToBase64String(buff);//加密str2

            jsonRegister.I = EncodeBase32(jsonRegister.I.Trim());
            jsonRegister.R = EncodeBase32("Y" + strRandom.ToString().Trim());
            jsonRegister.M = GetModuleCode();
            jsonRegister.M = EncodeBase32(jsonRegister.M);//(jsonRegister.M.ToString().Trim());

            jsonRegister.N = EncodeBase32(str2);
            jsonRegister.T = EncodeBase32(strendrq.ToString().Trim());

            JsonParser.JsonSign jsonSign = new JsonParser.JsonSign();
            jsonSign.data = jsonRegister;                                            //js.Serialize(jsonRegister).Trim(); //序列化成JSON
            string registerStortJson = StortJson(js.Serialize(jsonRegister), false); //排序

            jsonSign.sing = Sign(registerStortJson);

            string strJsonCode = js.Serialize(jsonSign).Trim();   //序列化成JSON
            //string strEncode32 = EncodeBase32(strJsonCode);
            string strEncode           = RsaEncrypt(strJsonCode); //RSAFromPkcs8.BlockEncrypt(strEncode32);//privateKey 加密
            string strAesEncode        = AesClass.AesEncrypt(strEncode);
            string strEncodeBase32Code = EncodeBase32(strAesEncode);

            this.richTextBox2.Text = strEncodeBase32Code;

            //BANLF7GEKN5MKJ7LK6SRDQIP6AJL367T6LV53Q4VYAALSSBEYNRPJ8GUYSV5UMJMCXY83IGCA67QM8BVCX7MQXJJCAMAL8JGDH7AUTJTKYULV383FTSRUXTSKYSM3TK3KT8PLTNQCI48KITTKNKAGVKJ6CAUQJGFKAF4HP4J6PTPUPGAKFSQ3PTIFPNM3INQKY7AJSKN6WT4UJN3DAAQD3B3KA3MW3BABNGUG3J3BAILWCN8ACYRD7NJUPWA38JYKFRQD8JEUTY83Q45AXR8DCVB63W56XG8CANMKMTBF3W8GJVQUT6RFXJA6YHRKBVE6AS4LIVSKPRQ9I4QBYW5GC74YA8GQIGKDXQMMD4EUATUVIKUCTCAD74AYP7RMQ86FXXUDQ4IFTBQLJJ4FIYR6TYSFXFQUWVAFCUAJ6TICY8RDMKFKPTLQSBNENA8LTJQEYIMW874UC4UFPYIAXT86XTTYT58G6BLENJADP4P6IBMKQ4SEAWRDKTEBYR83TTJYY5MQVJAYX4LVWYIDPJR63ISUXA5DTBK6CLUM6KEUI7MU8Y3FIPMF8JD6IFMSCJUUTBADXJNKXGUKI4A6CTPUDBCCY8QFJ78UTTL6XVI6ISMQXIPCNQA6Q4JUTPQWX8JKYPPHQY36WSUDSJEEAMPM745YN6AK385FI44K8VYKIVPJ7I3CC85GDBEUNI8KDGUDP4LDT46YMVMM7KKFTHP38KQYY5U99YPKIV4GMGYKTUQD3KVYNGP367CAX8A66856TWM9X8TUAUR6WJCYIJMFCJIUP78GWNMKH7L37G5ACQU3JKS6C7G9PBMCIAL3CGRCCHRUSB36CR8GCKNEAVMWSKICCV8UKTSBAVQFK7RUTA568NSCTKAD3JMDYRQ3I74AXQ5UTIEKCFPMS7FYYK5UPVVKY44LI8FKXP4L3YIFI7MVWNPYWVMD8V6UPI8KXBGCNVLK9KRKIWR6WITFASMV9K3FANMDP8DDY7M68VQEAM4JJGACAIAF7GUDXPGQJ85FXFL36KFCYPU6DG3UYSRJBV4DYPA3QBLEYQ4DIVIDN7PMMGICA74DK76CAJRMIG4YNNMUW7D6AR5UMY8ENNMLMIRUNPRJM4UKY7RJX4LDFV8JIBJKPY5LIJGCY7L67BVUXVUU9KQUHTLMWGCUIYL9V45CNP4FDBNCAI5HPYMYMVRG8JLENV5FTJ5D3PPK743YIW8F9IJCXKM3C7DDISGQWNJFXWLFXKRBNQRGDK4FCT4U3YTKY7A3W7VCXWAHJJ4DHVM6WVNY3WLGX8AYXR4G7BMY6VMLQKJFS7Q6T8LUIFMGS7VDY7QUMVPCIJ5KVTMELVG98K36I3QWJ75CNAAJV8BFX783CJLDF7LUPVRU3RQ3IVDYY6QMVVVCAQL96G4FAMAJTJAUPGAGCGPKPI5LTK8KPP5LT85DC6UDIY3DC78J8JGKYS8KW4YFAUQJI8B6T65FKTQYPT83QKSDYBU6DBVFXFLFQNSBAJPLSBCDXML3SBY6CR4KQJ6YT6QU3BYUIYALXYE6CBLJ884BATQ3BV4BYYQDJ4NKTVLFXJS6PNMUCJ4YX4L68NIYN5L6C44CY7Q38NJ6XHMV7GU6Y5R66JYDSRRGQ8T6SSQ3TI8DCWMFW8AUIIAL7YT5NRR66KQYFWRDCVMDSVMFTNSFYYMUWGEYAMQGK7TYPGPFXNSYXUU69IBUNW5LBVMYXKQDWKNDYUAGSYIYX8UWXVSUAURDC4UDAGUM64SCX3R36VTCXUMJSY3YCFAUDNMCAI5JPJU6IIU39GAFCW537I3CWRPFMNM6I6MSMBGUAQ43TTS6P7QVQBPKNVUMMBLKTNLQXGSKIRRMSBDUNHRM9BGUANUGVIJUALQG98SACB5MCNQKIUQDDBJUNG43WK4FTK43884KYIQ6645KLRP6XB36PNM6C8NYMTAM68PDPLLK9BDBN5UJW7REAAQDQ4FCXJQVT83Y3WPMTYSBYYLKV8Y6AFUD7IB6PBMJCGQBL7A6W73ENQ53W88FILQSTBUBN4A3T7PEAH8G68YEAFLF9YTDXWLSPJ86WSRHPJKDW7PD6TJDPWLUXVRUWS4UJYIDN7LDS7CYNFQM38F6TAULX8YFMTRHPJSKIYQFVGJDCWUDTVVACHQD6GTYF7G967QCMTPGMVFFYYGQWK5FIRLU6BSUM7PJIBKKNGR6W4EUYQ5FW8K6I3Q6J8CYX8LQWIPFXMMJSKNU3TAJQ8SDXS46MGPKNCAM9B3AXG43X8VDNP4F3KCFAL5F3TM6TKAHI4MKLTU6VIIACBAFC4K6XJADDY36PALSQ8JDFWM6X8DEFPRDXNIUSRRK74VCARM9SKP6Y7AJQ4QAX8PLWVFYXPRDPVYUIHPUPGC6WTL66VJF6WR6Q4J5A8PMJJNFPRUSX8VFTKUG6BKYHTR6XJMKPQ4HMT8YFWL9CGB6Y4L6XJLDNV8GJ8VYCFUQCNTYTKAH3VR5HWU678JDXN53IJKDSTLM7TTUSSMQITRUXCUUMIMFAKQQ38DKPPMV88CUAHMLJ7CYAXUQD4SDPM5HVNMUCU4LQGACXLAHIKKYAKJQQKJCNB4JIGNUCWU98YBCAA5F8VA6PNMJDYSCI4UFSJJBAF56V7JUMW8GC74DPX4JC4PF6WALINBA678HCNRKXLQUXIBBAYP6XKNFCLR6MYSFXNAUXBTFAILLIBG6PSQ9XK5CLTAUMGGDHWALQJ8FCWMS8G5UXVM38GD5NLQQ3B8DTI5L98TYMVPLV7DKTNQQ6GS6CAUUDG46Y4UU8K6FTTLVIVNCTYULW7YAXP4JW4PCXMLGCJFYPC4DCKIUNQ5M68G63RM6CGLDYP4UW8NYYVQK94CDT54FCBAAC44HKTQFCPMLC88KH7RG88FDYKAFMT3DAQ83KVSCCPU6M7ACPTAK88TBAM5GSB4DCGAM3BRCPQAK68PDSWPGMKCUT55HPVYUY6A3V7GYSS8FWIS6AMLGJB3BYY5KIGPCAGMKMNTKASRLTVYDX5A68T3YYUQ3J7DUNYPHXN35NJQFJ7RUCTMM3B8FYIAUVV3UP4UVQGG5LTQS9GTFI7QSDBGCFP8GW8AUPLMVJGQCABRG3YPKA5QLMNP5NM5K67BUI7UKWKKYMR83CG8DP55K9IBYPMUJMJ4FSVQ66JLULV5L38DFALU9SIMAXYPH7T3CCVU3CIRKCAMGCNSCWVRD7YIAXS5KCVECITRU77CC3PMV9YPF6VMU7KIFY6L384JDY6RM8NM5AFP698KDYAMFCGECMV8KTVADSVPFB7DBY5QMJ8JEN7UFW85UFRM6QNRU3TLUSBC6TTMW9BLFCU4FQBTFMVLQJVLCMVAJM8QCAKQ69YEUTUAH6JFCNG4LXV4CAMUV6BVCWSGQT4CFXPLKBTSKNKPJCGDFXX5HVTTUNT4FPVRUAM4UQ8EFT38HSKDCYCAM7B6YPMAG9B6YN746VJRAX54H9YQCCGMKWVPDF75H88IEA4QUXI3CWPMV6VUYNGUKW74FXI53PBYDCFJQ77T6PMQF67MY6VAMM7J6CWPLP4RYP5UQCNMKIKAMI7Q6IP56XBJ6CTP668PKLRJQ8NEBA6QSSJ3FATUMTT8YXFQG9NIUSS43VTRFPLL9D4V5ARUKB7DYP75DWBIYXAQUJ8NFF7ULQBAFILQ9JB5YSW4JWJFEAWLWQKSACMMQ7KGDWVLKTV85HSR6PBGKH7PDQJUKPCU3XVLEAS863736MRRLP4Q63W8D84Y6XT8G9IIFYAQKINPCCVMD8JDKX5MFTK6EAQMVJBPDPALQ7JNDYSRLSJ6EN6LSWV3BHTUMVVYKAVUJJVDCPHQS3IEDWWLGS88DAJLDVVPUFTPLM4VBYVU3BV3UTSAFXIBUAUM3XJ4FXRQW37ADHRPLI4JYTPR6VJEKP6RGTG5FY7US9JFCNBMF9BG6CUMVVVJKLVQDCGCDMTLWWJQCP7UU7KAYTPLVQG3UNVAFVISFI6Q36G3CYVQMCJMUWS4L8GE6TFUKWKVEY653MBYUATU3CGVKMTLDX7KFYS4K9IIDSV8H38ADYVUJTGC6AVML78TKHTUVDGYCWW8DMTBCLSMQP4KCPT4J3JDFCKU9DG6DLVMWVJ4DAKAFJV4UTNRGVKAEAU5KQ4DBA8QGTVRDPR56I75CWS5FJTI6FPRUCBB5A74JDYJ63TPLVB3CMSMGM7LCHSU3B7VBYUUD9G6CYC5GC83FTJMFPKVDYS8DJVECL7UGWNTKSWPFC44FCQ4FDKD6XWUFMNS6FPQMXITUPX4FCTRENLRH8VICXBQWKTJKXQRJ7J66T4ULQ86FPVALT4SFY3QGXNEUCVU9JGIUCY56QYICCMMVW4NYTKLDP7CUIPAUV46YAYLLXI36IFH
        }
Пример #4
0
        /// <summary>
        /// 解析激活码
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button3_Click(object sender, EventArgs e)
        {
            string FeedbackCode = this.richTextBox2.Text.ToString().Trim();

            if (FeedbackCode.Trim().Equals(string.Empty) || FeedbackCode.Length == 0)
            {
                MessageBox.Show("无反馈码,请填写反馈码!", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Hand, MessageBoxDefaultButton.Button1);
                // return;
            }
            try
            {
                string strDecodeBase32Code = DecodeBase32(FeedbackCode);

                JavaScriptSerializer js = new JavaScriptSerializer();
                //strDecodeBase32Code = "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";
                //string strDecodeBase32Code1 = DeleteControlChar(strDecodeBase32Code);
                string strAesDecode    = AesClass.AesDecrypt(strDecodeBase32Code);
                string strRSADecode    = RsaDecrypt_(strAesDecode); //RSAFromPkcs8.BlockDecrypt(strAesDecode);
                string strBase32Decode = strRSADecode;              // DecodeBase32(strRSADecode);

                string str = GetLastStr(strBase32Decode, 1);
                if (str != "}")
                {
                    //strBase32Decode = RemoveLastChar(strBase32Decode, "\"}");
                    strBase32Decode = RemoveLastChar(strBase32Decode, ",\"Info\":");
                    //int a = strBase32Decode.IndexOf("\"Info\":");
                    //strBase32Decode += "\"}}";
                    strBase32Decode += ",\"Info\":0}}";
                }

                JsonParser.JsonSign jsonSign = js.Deserialize <JsonParser.JsonSign>(strBase32Decode);
                string registerStortJson     = StortJson(js.Serialize(jsonSign.data), false); //排序

                if (Verify(registerStortJson, jsonSign.sing))
                {
                    //JsonParser.JsonRegister jsonRegister = js.Deserialize<JsonParser.JsonRegister>(strBase32Decode);
                    JsonParser.JsonRegister jsonRegister = new JsonParser.JsonRegister();
                    jsonRegister = jsonSign.data;
                    string jsonRegister_I = DecodeBase32(jsonRegister.I.ToString().Trim());
                    string jsonRegister_R = DecodeBase32(jsonRegister.R.ToString().Trim());
                    string jsonRegister_M = DecodeBase32(jsonRegister.M.ToString().Trim());

                    string jsonRegister_N = DecodeBase32(jsonRegister.N.ToString().Trim());
                    string jsonRegister_T = DecodeBase32(jsonRegister.T.ToString().Trim());

                    var    buff = Convert.FromBase64String(jsonRegister_N);
                    string str2 = System.Text.Encoding.Unicode.GetString(buff);

                    jsonRegister.I = jsonRegister_I;
                    jsonRegister.R = jsonRegister_R;
                    jsonRegister.M = jsonRegister_M;

                    jsonRegister.N = str2;

                    jsonRegister.T = jsonRegister_T;
                    string jsonCode = ConvertJsonString(js.Serialize(jsonRegister));
                    this.richTextBox3.Text = jsonCode;
                }
            }catch (Exception ex)
            {
                MessageBox.Show("错误 !" + ex.Message, "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Hand, MessageBoxDefaultButton.Button1);
                return;
            }
        }