static void TestEncryptXML() { RSA rsaKey = GTXXmlCrypt.CreateRSAAlgorithm("rsakey container"); GTXXmlCrypt.EncryptXmlFile("TestUserSetting.xml", "User", false, rsaKey, ""); //GTXXmlCrypt.DecryptXmlFile("TestUserSetting.xml", rsaKey, ""); }
private static void TestSymmetricAlgorithm(String filePath) { Console.WriteLine("Select the encrypt/decrypt algorithm: (Default is DES)"); GTXXmlCrypt.SymmetricAlgTypes salTypeTemp = GTXXmlCrypt.SymmetricAlgTypes.DES; for (; salTypeTemp <= GTXXmlCrypt.SymmetricAlgTypes.TripleDES; ++salTypeTemp) { Console.WriteLine("{0} is {1}", (int)salTypeTemp, salTypeTemp.ToString()); } // Read the symmetric algorithm command String algString = Console.ReadLine(); GTXXmlCrypt.SymmetricAlgTypes salType = GTXXmlCrypt.SymmetricAlgTypes.DES; try { salType = (GTXXmlCrypt.SymmetricAlgTypes)Convert.ToInt32(algString); if (salType <= GTXXmlCrypt.SymmetricAlgTypes.DES && salType >= GTXXmlCrypt.SymmetricAlgTypes.TripleDES) { salType = GTXXmlCrypt.SymmetricAlgTypes.DES; } } catch (System.Exception ex) { salType = GTXXmlCrypt.SymmetricAlgTypes.DES; } // Read the node which we want to encrypt/decrypt Console.WriteLine("Input the XML element node:"); String elementName = Console.ReadLine(); Console.WriteLine("Encrypt node element or its content, 0: Element, 1: Only content (Default is Element)"); String content = Console.ReadLine(); bool bContent = content.Equals("1") ? true : false; SymmetricAlgorithm sal = GTXXmlCrypt.CreateSymmetricAlgorithm(salType); if (GTXXmlCrypt.EncryptXmlFile(filePath, elementName, bContent, sal, "abc")) { // Print the encrypted XML to console Console.WriteLine("Encrypt XML with {0} algorithm Succeed!", salType); PrintXml(filePath, PrintTypes.PrintEncrypt); if (GTXXmlCrypt.DecryptXmlFile(filePath, sal, /*"abc"*/ "")) { // Print the decrypted XML to console Console.WriteLine("Decrypt XML with {0} algorithm Succeed!", salType); PrintXml(filePath, PrintTypes.PrintDecrypt); } else { Console.WriteLine("Decrypt with {0} algorithm Failed!", salType); } } else { Console.WriteLine("Encrypt with {0} algorithm Failed!", salType); } }
private static void TestAsymmetricAlgorithm(String filePath) { String keyContainerName = "rsakey container"; RSA rsaKey = GTXXmlCrypt.CreateRSAAlgorithm(keyContainerName); try { // Read the node which we want to encrypt/decrypt Console.WriteLine("Input the XML element node:"); String elementName = Console.ReadLine(); Console.WriteLine("Encrypt node element or its content, 0: Element, 1: Only content (Default is Element)"); String content = Console.ReadLine(); bool bContent = content.Equals("1") ? true : false; if (GTXXmlCrypt.EncryptXmlFile(filePath, elementName, bContent, rsaKey, "" /*"rsakey"*/)) { // Print the encrypted XML to console Console.WriteLine("Encrypt XML with RSA algorithm Succeed!"); PrintXml(filePath, PrintTypes.PrintEncrypt); if (GTXXmlCrypt.DecryptXmlFile(filePath, rsaKey, "" /*"rsakey"*/)) { PrintXml(filePath, PrintTypes.PrintDecrypt); Console.WriteLine("Decrypt XML with RSA algorithm Succeed!"); } else { Console.WriteLine("Decrypt XML with RSA algorithm Failed!"); } } else { Console.WriteLine("Encrypt xml with RSA algorithm Failed!"); } } catch (System.Exception ex) { Console.WriteLine(ex.Message); } finally { rsaKey.Clear(); } }