当前位置: 首页 > news >正文

wordpress 换图片地址徐州企业网站排名优化

wordpress 换图片地址,徐州企业网站排名优化,建站平台 iis,网站及app开发[作者:张赐荣] 对称加密是一种加密技术#xff0c;它使用相同的密钥来加密和解密数据。换句话说#xff0c;加密者和解密者需要共享同一个密钥#xff0c;才能进行通信。 对称加密的优点是速度快#xff0c;效率高#xff0c;适合大量数据的加密。对称加密的缺点是密钥的管…[作者:张赐荣] 对称加密是一种加密技术它使用相同的密钥来加密和解密数据。换句话说加密者和解密者需要共享同一个密钥才能进行通信。 对称加密的优点是速度快效率高适合大量数据的加密。对称加密的缺点是密钥的管理和分发比较困难如果密钥泄露或被破解那么加密的数据就会失去保密性。 AES是一种高级加密标准它是一种对称加密算法也就是说它使用相同的密钥来加密和解密数据。AES是美国国家标准技术研究所NIST在2001年选定的一种加密算法用于替代旧的DES算法。AES支持三种不同的密钥长度128位192位和256位。AES的安全性很高目前还没有找到有效的攻击方法。 下面两个函数使用AES加/解密文件。 需要引用 System.Security.Cryptography 命名空间。 // 加密文件         public static async Taskbool EncryptFileAsync (string inputFilePath, string outputFilePath, string key, Actiondouble progressCallback default, CancellationToken cancellationToken default)         {             HashSetIDisposable disposables new HashSetIDisposable();             try             {                 var md5 MD5.Create();                 disposables.Add(md5);                 var md5Key md5.ComputeHash(Encoding.Unicode.GetBytes(key));                 var aes Aes.Create();                 disposables.Add(aes);                 aes.Key md5Key;                 var aesEncryptor aes.CreateEncryptor();                 disposables.Add(aesEncryptor);                 var inputStream File.OpenRead(inputFilePath);                 disposables.Add(inputStream);                 var outputStream File.OpenWrite(outputFilePath);                 disposables.Add(outputStream);                 aes.GenerateIV();                 await outputStream.WriteAsync(aes.IV,0,aes.IV.Length,cancellationToken);                 var encryptoWriterStream new CryptoStream(outputStream,aesEncryptor,CryptoStreamMode.Write);                 disposables.Add(encryptoWriterStream);                 var buffer new byte[65536];                 var readLength -1;                 while ((readLength await inputStream.ReadAsync(buffer,0,buffer.Length,cancellationToken)) 0)                 {                     await encryptoWriterStream.WriteAsync(buffer,0,readLength,cancellationToken);                     progressCallback?.Invoke(Math.Round(((double)(inputStream.Position 1 - aes.IV.Length) / inputStream.Length) * 100,2));                 }                 if (!encryptoWriterStream.HasFlushedFinalBlock)                 {                     encryptoWriterStream.FlushFinalBlock();                     progressCallback?.Invoke(100.00);                 }                 return (true);             }             catch (Exception ex)             {                 return (false);             }             finally             {                 foreach (var disposableObject in disposables)                 {                     try                     {                         disposableObject.Dispose();                     }                     catch (Exception ex)                     {                         continue;                     }                 }             }         } // 解密文件         public static async Taskbool DecryptFileAsync (string inputFilePath, string outputFilePath, string key, Actiondouble progressCallback default, CancellationToken cancellationToken default)         {             HashSetIDisposable disposables new HashSetIDisposable();             try             {                 var md5 MD5.Create();                 disposables.Add(md5);                 var md5Key md5.ComputeHash(Encoding.Unicode.GetBytes(key));                 var inputStream File.OpenRead(inputFilePath);                 disposables.Add(inputStream);                 byte[] iv new byte[16];                 await inputStream. ReadAsync(iv,0,iv.Length,cancellationToken);                 var aes Aes.Create();                 disposables.Add(aes);                 aes.Key md5Key;                 aes.IV iv;                 var aesDecryptor aes.CreateDecryptor();                 disposables.Add(aesDecryptor);                 var DecryptorReaderStream new CryptoStream(inputStream,aesDecryptor,CryptoStreamMode.Read);                 disposables.Add(DecryptorReaderStream);                 var outputStream File.OpenWrite(outputFilePath);                 disposables.Add(outputStream);                 var buffer new byte[65536];                 var readLength -1;                 while ((readLength await DecryptorReaderStream.ReadAsync(buffer,0,buffer.Length,cancellationToken)) 0)                 {                     await outputStream.WriteAsync(buffer,0,readLength,cancellationToken);                     progressCallback?.Invoke(Math.Round(((double)(inputStream.Position 1) / inputStream.Length) * 100, 2));                 }                 if (!DecryptorReaderStream.HasFlushedFinalBlock)                 {                     DecryptorReaderStream.FlushFinalBlock();                     progressCallback?.Invoke(100.00);                 }                 return (true);             }             catch (Exception ex)             {                 return (false);             }             finally             {                 foreach (var disposableObject in disposables)                 {                     try                     {                         disposableObject.Dispose();                     }                     catch (Exception ex)                     {                         continue;                     }                 }             }         }
http://www.zqtcl.cn/news/230691/

相关文章:

  • 怎么看网站是否备案可信赖的菏泽网站建设
  • 做网站的优点系统软件开发服务
  • 深圳品牌营销网站建设尚品中国网站
  • 新建网站怎么做关键词南阳手机网站制作
  • 宁波网站建设应届生公司网站备案需要每年做吗
  • 汽车设计网站论坛网站 备案
  • 网站源码带手机版展示型网站首页设计解析
  • 备案的网站名称能重复备案吗为什么打开Wordpress很慢
  • vps网站建设个人网站二级域名做淘宝客
  • 用cms织梦做网站图文教程wordpress分类文章排序
  • 台州网站策划云南招聘网
  • 网站如何设定关键词wordpress 文章关联
  • 京津冀网站建设公司建设监理工程师网站
  • 网站建设的500字小结那些网站做网批
  • 怎么做视频网站首页网站建设公司创业计划书
  • 网加思维做网站推广项目营销推广策划
  • 郫县专业的网站建设免费自己创建个人网站
  • 网站建设公司比较扑克直播软件app开发
  • 天津武清做网站如何搭建自己的微信小程序商城
  • 网站排行榜海珠商城网站建设
  • 太原自助建站怎么提高网站加载速度慢
  • 网站如何做友情链接html5 视频网站 模板
  • 沈阳做网站哪家质量好价格低东单网站建设
  • o2o网站建设如何南宁网站推广方案如何做
  • 网站部署到终端机怎么做网站建设数据库怎么弄
  • 城乡建设部官网查证如何进行网站的seo
  • 为何只有建设银行网站打不开阳江网络问政
  • 浦东做营销网站河北黄骅市网站建设
  • 青岛哪里有做网站公司的东莞东坑网站设计
  • 建站公司是什么郴州网站建设哪家做的好