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"]); } }
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() }
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())); }
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())); }