private void DecryptDict(dict dict_mes)
 {
     if (dict_mes.ContainsKey("content"))
     {
         dict_mes["content"] = RsaMaker.DecodeOrNull(dict_mes["content"]);
     }
     if (dict_mes.ContainsKey("ftpusername"))
     {
         dict_mes["ftpusername"] = RsaMaker.DecodeOrNull(dict_mes["ftpusername"]);
     }
     if (dict_mes.ContainsKey("ftppassword"))
     {
         dict_mes["ftppassword"] = RsaMaker.DecodeOrNull(dict_mes["ftppassword"]);
     }
 }
Ejemplo n.º 2
0
        static void RSATest()
        {
            var rsa = new RSA(512);

            Console.WriteLine("【512私钥(XML)】:");
            Console.WriteLine(rsa.ToXML());
            Console.WriteLine();
            Console.WriteLine("【512私钥(PEM)】:");
            Console.WriteLine(rsa.ToPEM_PKCS1());
            Console.WriteLine();
            Console.WriteLine("【512公钥(PEM)】:");
            Console.WriteLine(rsa.ToPEM_PKCS1(true));
            Console.WriteLine();

            var str = "abc内容123";
            var en  = rsa.Encode(str);

            Console.WriteLine("【加密】:");
            Console.WriteLine(en);

            Console.WriteLine("【解密】:");
            Console.WriteLine(rsa.DecodeOrNull(en));

            Console.WriteLine("【签名SHA1】:");
            Console.WriteLine(rsa.Sign("SHA1", str));
            Console.WriteLine();

            string a = S_File_Text.Read(@"D:\Net\Web\id_rsa");
            //a = rsa.ToPEM_PKCS8();
            var rsa2 = new RSA(a, true);//rsa.ToPEM_PKCS8()

            Console.WriteLine("【用PEM新创建的RSA是否和上面的一致】:");
            Console.WriteLine("XML:" + (rsa2.ToXML() == rsa.ToXML()));
            Console.WriteLine("PKCS1:" + (rsa2.ToPEM_PKCS1() == rsa.ToPEM_PKCS1()));
            Console.WriteLine("PKCS8:" + (rsa2.ToPEM_PKCS8() == rsa.ToPEM_PKCS8()));

            var rsa3 = new RSA(rsa.ToXML());

            Console.WriteLine("【用XML新创建的RSA是否和上面的一致】:");
            Console.WriteLine("XML:" + (rsa3.ToXML() == rsa.ToXML()));
            Console.WriteLine("PKCS1:" + (rsa3.ToPEM_PKCS1() == rsa.ToPEM_PKCS1()));
            Console.WriteLine("PKCS8:" + (rsa3.ToPEM_PKCS8() == rsa.ToPEM_PKCS8()));

            //var rsa4=new RSA()
        }
Ejemplo n.º 3
0
        static void RSATest()
        {
            var rsa = new RSA(512);

            Console.WriteLine("【512私钥(XML)】:");
            Console.WriteLine(rsa.ToXML());
            Console.WriteLine();
            Console.WriteLine("【512私钥(PEM)】:");
            Console.WriteLine(rsa.ToPEM_PKCS1());
            Console.WriteLine();
            Console.WriteLine("【512公钥(PEM)】:");
            Console.WriteLine(rsa.ToPEM_PKCS1(true));
            Console.WriteLine();

            var str = "abc内容123";
            var en  = rsa.Encode(str);

            Console.WriteLine("【加密】:");
            Console.WriteLine(en);

            Console.WriteLine("【解密】:");
            Console.WriteLine(rsa.DecodeOrNull(en));

            Console.WriteLine("【签名SHA1】:");
            Console.WriteLine(rsa.Sign("SHA1", str));
            Console.WriteLine();

            var rsa2 = new RSA(rsa.ToPEM_PKCS8(), true);

            Console.WriteLine("【用PEM新创建的RSA是否和上面的一致】:");
            Console.WriteLine("XML:" + (rsa2.ToXML() == rsa.ToXML()));
            Console.WriteLine("PKCS1:" + (rsa2.ToPEM_PKCS1() == rsa.ToPEM_PKCS1()));
            Console.WriteLine("PKCS8:" + (rsa2.ToPEM_PKCS8() == rsa.ToPEM_PKCS8()));

            var rsa3 = new RSA(rsa.ToXML());

            Console.WriteLine("【用XML新创建的RSA是否和上面的一致】:");
            Console.WriteLine("XML:" + (rsa3.ToXML() == rsa.ToXML()));
            Console.WriteLine("PKCS1:" + (rsa3.ToPEM_PKCS1() == rsa.ToPEM_PKCS1()));
            Console.WriteLine("PKCS8:" + (rsa3.ToPEM_PKCS8() == rsa.ToPEM_PKCS8()));
        }
Ejemplo n.º 4
0
        static void RSATest()
        {
            //var rsa = new RSA(512);
            //var filePath = Path.Combine("D:\\repos\\ps256\\RSA-csharp-master\\bin\\Debug", "cjet_pri.pem");
            //var filePath = Path.Combine("D:\\repos\\ps256\\RSA-csharp-master\\bin\\Debug", "cjet_pub.pem");
            string loadedRSA = File.ReadAllText("D:\\keyname_sign_rsa_private_key.pem");

            var filePath2 = Path.Combine("D:\\repos\\ps256\\RSA-csharp-master\\bin\\Debug", "cjet_pub.pem");
            //var filePath = Path.Combine("D:\\repos\\ps256\\RSA-csharp-master\\bin\\Debug", "cjet_pub.pem");
            string loadedRSA2 = File.ReadAllText(filePath2);  //公钥
            var    rsa        = new RSA(loadedRSA, true);
            //            Console.WriteLine("【512私钥(XML)】:");
            //			Console.WriteLine(rsa.ToXML());
            //			Console.WriteLine();
            //			Console.WriteLine("【512私钥(PEM)】:");
            //			Console.WriteLine(rsa.ToPEM_PKCS1());
            //			Console.WriteLine();
            //			Console.WriteLine("【512公钥(PEM)】:");
            //			Console.WriteLine(rsa.ToPEM_PKCS1(true));
            //			Console.WriteLine();
            //            //有效签名
            //            string yxqm =
            //                "K7xtr0vkxNIsRqqOXofnRg5a42WsuJSpr_pNA-fFpiaBkc--VXwvFElyOVG3BQ6aeC8dyGoLuYVlnxIrKJRanwDGSlrb2feIYDIWbh_8hdihi2gFHhgzqb0vT7a6MLArbsf5aH6wnsgncdlm26Vd29eQoWIHwhqPPqCRuiHHcw0";
            //            //待签内容
            //            var str = "eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0ZXIiLCJleHAiOjE1NTIzOTQ0MDc3NjcuMTM2MiwiZGF0YXMiOiJlMjk5M2VkMDI1MmM0ZGE0ZTMwZTYwMjY1YTM0ODM3NyJ9";
            //            string privateKeyJava = @"MIICWwIBAAKBgQCcym0uL9DaH/ybE6mYncjie2pxLcsd8pvCBFMZpDOrYyQWrbAw
            //2lm4kQT+JP/tpmQYIab3erVAD3otj4ZGf7NL22KjU8/6Xz9qICCwilx9RQG5QrZR
            //vxYFxN2a0DaWiHITzWS7dejNoz6g5xFXL7U4IFTmj1wZXCv6tqQGJB84FQIDAQAB
            //AoGAOqPe57pMc3gpItrcwE6q9kHQUpoc8ItvQ8YYSmvGQ2Bl+/FkBzFzAvuCEYdH
            //DNwBbaEQcFi9d0MSn/2g67cRGEUCVlo4ve75Gu3pxOy7hhZ0dwOW1FaC6jeEyOJe
            //B4AHRqXUSj+zKhMjZM399BrqFSc0kvkC3dtssbvGHcXMnwECQQDNNTSBFPUFe+O7
            //AWjzzgdQmB+tsqP87pQ9nnfHHA9xXReEOKpLl2dJwrVkpVwyniFkZq5Phwx2gYfx
            //lD1xKv9BAkEAw5lRksTLjg7UTyk2vyYVGDhe/98dMgfaMkrx9M0C9XbSDvd9W5mq
            //jC+qstgT66geFXjoWCtKTnfwJgnYjeoX1QJAaZrq9U8StYrHbNLR7z5lN03CZ8Ka
            //cC1brsZhv98p915AHvSGdzZommYQscYDx6znZGMPa7AFcutAScvPPvEwwQJAM3Nm
            //ALxhavm9oSEPNJK448kYPCgdTua/35DVOnae+6CIusUhJXIzaXK0bRzniIqNd0p5
            //m4+vmRp1ghv+6b2VDQJASaygxkO0W0CqwMDY7LwLqBW3guJENRcm6ZLbd9VfvS+I
            //3HMk8Qa9Yc9Iohi5UhtnjOZl5/FGZbC/HPcR6HgZRA==";
            //            Console.WriteLine("加签:");

            //            Console.WriteLine(RSAHelper.RSASignPEM(str, loadedRSA, "SHA256"));
            //            Console.WriteLine();



            //            //Console.WriteLine("加签2:");
            //            //Console.WriteLine(RSAHelper.RSASignJavaBouncyCastle(str, privateKeyJava));
            //            //Console.WriteLine();
            //            //Console.WriteLine("验签SHA1:" + RSAHelper.VerifyPEM(str, loadedRSA2, yxqm, "SHA1"));
            //            //Console.WriteLine("验签SHA256:" + RSAHelper.VerifyPEM(str, loadedRSA2, yxqm, "SHA256"));
            //            //Console.WriteLine("验签SHA384:" + RSAHelper.VerifyPEM(str, loadedRSA2, yxqm, "SHA384"));
            //            //Console.WriteLine("验签SHA512:" + RSAHelper.VerifyPEM(str, loadedRSA2, yxqm, "SHA512"));
            //            //Console.WriteLine();

            //            var en = rsa.Encode(str);
            //			Console.WriteLine("【加密】:");
            //			Console.WriteLine(en);
            string en = "WB8tJMJsZChTcjO4dQxKGweR/P/o4xQBWzJAOFF2evPdG7DsAWt482VWL0OjNjOXeTFKKDZ3s7sJ698pVihmF/YfJ3FRXHB5NsrA1VmfkttwRjUqvguvzyBlD8N1mSUU6HDalJBWbhKPppicIIR6f91qPHizIQo04WxRWevoOOI=";

            Console.WriteLine("【解密】:");
            Console.WriteLine(rsa.DecodeOrNull(en));
            //            Console.WriteLine();
            //            Console.WriteLine("【解密2】:");
            //            //Console.WriteLine("【签名SHA1】:");
            //            //Console.WriteLine(rsa.Sign("SHA256", str));
            //            //Console.WriteLine();

            //                      Console.WriteLine("验证签名");
            //            Console.WriteLine(rsa.Verify("SHA256", yxqm, str));
            //            Console.WriteLine();

            //            var rsa2 = new RSA(rsa.ToPEM_PKCS8(), true);
            //            //var rsa2 = new RSA(loadedRSA, true);
            //            Console.WriteLine("【用PEM新创建的RSA是否和上面的一致】:");
            //			Console.WriteLine("XML:" + (rsa2.ToXML() == rsa.ToXML()));
            //			Console.WriteLine("PKCS1:" + (rsa2.ToPEM_PKCS1() == rsa.ToPEM_PKCS1()));
            //			Console.WriteLine("PKCS8:" + (rsa2.ToPEM_PKCS8() == rsa.ToPEM_PKCS8()));

            //			var rsa3 = new RSA(rsa.ToXML());
            //			Console.WriteLine("【用XML新创建的RSA是否和上面的一致】:");
            //			Console.WriteLine("XML:" + (rsa3.ToXML() == rsa.ToXML()));
            //			Console.WriteLine("PKCS1:" + (rsa3.ToPEM_PKCS1() == rsa.ToPEM_PKCS1()));
            //			Console.WriteLine("PKCS8:" + (rsa3.ToPEM_PKCS8() == rsa.ToPEM_PKCS8()));
        }