Beispiel #1
0
        public void TestEncryptAttributeSet()
        {
            var encryptAttributes = new EncryptAttributeSet("FNSBA")
            {
                AhsId = "102", LobCd = "PAU", EncryptType = "ACORD"
            };

            Assert.IsTrue(encryptAttributes.Execute(), encryptAttributes.LastError);
            Assert.IsTrue(encryptAttributes.Results != null);
            foreach (DataRow encryptRow in encryptAttributes)
            {
                Console.WriteLine("{0}",
                                  encryptRow[(int)EncryptAttributeSet.ResultList.AttributeName]);
            }
        }
Beispiel #2
0
        /// <summary>
        /// Encrypts the XML fields.
        /// </summary>
        /// <param name="doc">The doc.</param>
        /// <param name="ahsId">The ahs id.</param>
        /// <param name="lobCd">The lob cd.</param>
        /// <param name="type">The type.</param>
        /// <param name="decrypt">if set to <c>true</c> [decrypt].</param>
        /// <returns></returns>
        static public string EncryptXmlFields(string doc, string ahsId, string lobCd, string type, bool decrypt)
        {
            var results = doc;

            try
            {
                var encryptDoc = new XmlDocument();
                encryptDoc.LoadXml(doc);
                var root = encryptDoc.DocumentElement;
                if (null != root)
                {
                    var encyptAttributes = new EncryptAttributeSet {
                        AhsId = ahsId, LobCd = lobCd, EncryptType = type
                    };
                    Assert.Test(encyptAttributes.Execute(), encyptAttributes.LastError);

                    foreach (DataRow encryptRow in encyptAttributes)
                    {
                        var attributeName = encryptRow[(int)EncryptAttributeSet.ResultList.AttributeName].ToString();
                        var nodes         = encryptDoc.SelectNodes(attributeName);

                        if (null == nodes)
                        {
                            continue;
                        }
                        foreach (XmlNode node in nodes)
                        {
                            if (string.IsNullOrEmpty(node.InnerText))
                            {
                                continue;
                            }
                            node.InnerText = decrypt ? Cryptographer.DecryptSymmetric(SymmProvider, node.InnerText) : Cryptographer.EncryptSymmetric(SymmProvider, node.InnerText);
                        }
                    }
                    results = encryptDoc.OuterXml;
                }
            }
            catch (Exception ex)
            {
                ErrorLog.LogError("EncryptXmlFields(): " + ex.Message, ServiceName);
            }
            return(results);
        }