Ejemplo n.º 1
0
        public byte[] Encrypt(byte[] source)
        {
            Func <byte[], byte[]> encrypt = sou =>
            {
                CMSApplicationContext applicationContext = ServiceLocator.Current.GetInstance <IApplicationContext>() as CMSApplicationContext;
                using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider())
                {
                    string folder = applicationContext.MapPath(Path);
                    if (!Directory.Exists(folder))
                    {
                        Directory.CreateDirectory(folder);
                    }
                    if (!File.Exists(folder + PrivateKeyFile))
                    {
                        File.WriteAllText(folder + PrivateKeyFile, rsa.ToXmlString(true));
                        File.WriteAllText(folder + PublicKeyFile, rsa.ToXmlString(false));
                    }
                    rsa.FromXmlString(File.ReadAllText(folder + PublicKeyFile));
                    int maxBlockSize = rsa.KeySize / 8 - 11;
                    if (sou.Length <= maxBlockSize)
                    {
                        return(rsa.Encrypt(sou, false));
                    }

                    using (MemoryStream plaiStream = new MemoryStream(sou))
                    {
                        using (MemoryStream crypStream = new MemoryStream())
                        {
                            Byte[] buffer    = new Byte[maxBlockSize];
                            int    blockSize = plaiStream.Read(buffer, 0, maxBlockSize);

                            while (blockSize > 0)
                            {
                                Byte[] toEncrypt = new Byte[blockSize];
                                Array.Copy(buffer, 0, toEncrypt, 0, blockSize);

                                Byte[] cryptograph = rsa.Encrypt(toEncrypt, false);
                                crypStream.Write(cryptograph, 0, cryptograph.Length);

                                blockSize = plaiStream.Read(buffer, 0, maxBlockSize);
                            }

                            return(crypStream.ToArray());
                        }
                    }
                }
            };

            return(MarkData(encrypt(source)));
        }
Ejemplo n.º 2
0
        public byte[] Decrypt(byte[] source)
        {
            if (IsEncrypt(source))
            {
                Func <byte[], byte[]> decrypt = sou =>
                {
                    CMSApplicationContext applicationContext = ServiceLocator.Current.GetInstance <IApplicationContext>() as CMSApplicationContext;
                    using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider())
                    {
                        string folder = applicationContext.MapPath(Path);
                        if (File.Exists(folder + PrivateKeyFile))
                        {
                            rsa.FromXmlString(File.ReadAllText(folder + PrivateKeyFile));
                        }
                        int maxBlockSize = rsa.KeySize / 8;

                        if (sou.Length <= maxBlockSize)
                        {
                            return(rsa.Decrypt(sou, false));
                        }

                        using (MemoryStream crypStream = new MemoryStream(sou))
                        {
                            using (MemoryStream plaiStream = new MemoryStream())
                            {
                                Byte[] buffer    = new Byte[maxBlockSize];
                                int    blockSize = crypStream.Read(buffer, 0, maxBlockSize);

                                while (blockSize > 0)
                                {
                                    Byte[] toDecrypt = new Byte[blockSize];
                                    Array.Copy(buffer, 0, toDecrypt, 0, blockSize);

                                    Byte[] plaintext = rsa.Decrypt(toDecrypt, false);
                                    plaiStream.Write(plaintext, 0, plaintext.Length);

                                    blockSize = crypStream.Read(buffer, 0, maxBlockSize);
                                }

                                return(plaiStream.ToArray());
                            }
                        }
                    }
                };
                return(decrypt(ClearDataMark(source)));
            }
            return(source);
        }
        public void Handle(object entity, EventArg e)
        {
            if (_applicationSettingService.Get("Animation_Widget_FadeInUp", "false") == "true")
            {
                CMSApplicationContext applicationContext = _applicationContextAccessor.Current;
                HtmlContentBuilder    styleBuilder       = new HtmlContentBuilder();
                HtmlContentBuilder    scriptBuilder      = new HtmlContentBuilder();
#if DEBUG
                styleBuilder.AppendHtml("<link type=\"text/css\" async rel=\"stylesheet\" href=\"/Plugins/ZKEACMS.Animation/Content/animate.css\" />");
                scriptBuilder.AppendHtml("<script type=\"text/javascript\" src=\"/Plugins/ZKEACMS.Animation/Scripts/animate.js\"></script>");
#else
                styleBuilder.AppendHtml("<link type=\"text/css\" async rel=\"stylesheet\" href=\"/Plugins/ZKEACMS.Animation/Content/animate.min.css\" />");
                scriptBuilder.AppendHtml("<script type=\"text/javascript\" src=\"/Plugins/ZKEACMS.Animation/Scripts/animate.min.js\" ></script>");
#endif
                applicationContext.HeaderPart.Add(styleBuilder);
                applicationContext.FooterPart.Add(scriptBuilder);
            }
        }
        public virtual void OnExecuted(PageEntity currentPage, HttpContext context)
        {
            CMSApplicationContext applicationContext = _applicationContextAccessor.Current;
            var script = _applicationSettingService.Get <T>();

            if (script != null && script.Script.IsNotNullAndWhiteSpace())
            {
                if (script.Script.IndexOf("</script>", StringComparison.OrdinalIgnoreCase) > 0)
                {
                    HtmlContentBuilder htmlContentBuilder = new HtmlContentBuilder();
                    htmlContentBuilder.AppendHtml(script.Script);
                    applicationContext.FooterPart.Add(htmlContentBuilder);
                }
                else
                {
                    HtmlContentBuilder htmlContentBuilder = new HtmlContentBuilder();
                    htmlContentBuilder.AppendHtml("<script type=\"text/javascript\">");
                    htmlContentBuilder.AppendHtml(script.Script);
                    htmlContentBuilder.AppendHtml("</script>");
                    applicationContext.FooterPart.Add(htmlContentBuilder);
                }
            }
        }
Ejemplo n.º 5
0
        public virtual void Handle(object entity, EventArg e)
        {
            CMSApplicationContext applicationContext = _applicationContextAccessor.Current;
            var script = _applicationSettingService.Get <T>();

            if (script != null && script.Script.IsNotNullAndWhiteSpace())
            {
                if (script.Script.IndexOf("</script>", StringComparison.OrdinalIgnoreCase) > 0)
                {
                    HtmlContentBuilder htmlContentBuilder = new HtmlContentBuilder();
                    htmlContentBuilder.AppendHtml(script.Script);
                    if (script.Location == (int)ScriptLocation.Header)
                    {
                        applicationContext.HeaderPart.Add(htmlContentBuilder);
                    }
                    else
                    {
                        applicationContext.FooterPart.Add(htmlContentBuilder);
                    }
                }
                else
                {
                    HtmlContentBuilder htmlContentBuilder = new HtmlContentBuilder();
                    htmlContentBuilder.AppendHtml("<script type=\"text/javascript\">");
                    htmlContentBuilder.AppendHtml(script.Script);
                    htmlContentBuilder.AppendHtml("</script>");
                    if (script.Location == (int)ScriptLocation.Header)
                    {
                        applicationContext.HeaderPart.Add(htmlContentBuilder);
                    }
                    else
                    {
                        applicationContext.FooterPart.Add(htmlContentBuilder);
                    }
                }
            }
        }
 public CurrencyOptionController(IApplicationSettingService applicationSettingService, IApplicationContextAccessor applicationContextAccessor) : base(applicationSettingService)
 {
     _applicationContext = applicationContextAccessor.Current;
 }
Ejemplo n.º 7
0
 public BasketController(IBasketService basketService, IApplicationContextAccessor applicationContextAccessor)
 {
     _basketService     = basketService;
     applicationContext = applicationContextAccessor.Current;
 }