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))); }
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); } } }
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; }
public BasketController(IBasketService basketService, IApplicationContextAccessor applicationContextAccessor) { _basketService = basketService; applicationContext = applicationContextAccessor.Current; }