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

融资平台公司定义宁波seo排名方案优化公司

融资平台公司定义,宁波seo排名方案优化公司,建设银行青海省分行门户网站,做兼职工作上哪个网站招聘[作者:张赐荣] 对称加密是一种加密技术,它使用相同的密钥来加密和解密数据。换句话说,加密者和解密者需要共享同一个密钥,才能进行通信。 对称加密的优点是速度快,效率高,适合大量数据的加密。对称加密的缺点是密钥的管…

[作者:张赐荣]

对称加密是一种加密技术,它使用相同的密钥来加密和解密数据。换句话说,加密者和解密者需要共享同一个密钥,才能进行通信。
对称加密的优点是速度快,效率高,适合大量数据的加密。对称加密的缺点是密钥的管理和分发比较困难,如果密钥泄露或被破解,那么加密的数据就会失去保密性。
AES是一种高级加密标准,它是一种对称加密算法,也就是说,它使用相同的密钥来加密和解密数据。AES是美国国家标准技术研究所(NIST)在2001年选定的一种加密算法,用于替代旧的DES算法。AES支持三种不同的密钥长度:128位,192位和256位。AES的安全性很高,目前还没有找到有效的攻击方法。

下面两个函数使用AES,加/解密文件。
需要引用 "System.Security.Cryptography" 命名空间。

// 加密文件
        public static async Task<bool> EncryptFileAsync (string inputFilePath, string outputFilePath, string key, Action<double> progressCallback = default, CancellationToken cancellationToken = default)
        {
            HashSet<IDisposable> disposables = new HashSet<IDisposable>();
            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 Task<bool> DecryptFileAsync (string inputFilePath, string outputFilePath, string key, Action<double> progressCallback = default, CancellationToken cancellationToken = default)
        {
            HashSet<IDisposable> disposables = new HashSet<IDisposable>();
            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://dinncotucker.knnc.cn
http://dinncoastrometry.knnc.cn
http://dinncouncrowned.knnc.cn
http://dinncodiscodance.knnc.cn
http://dinncoaicpa.knnc.cn
http://dinncocoprocessor.knnc.cn
http://dinncopwt.knnc.cn
http://dinncotracheitis.knnc.cn
http://dinncoamberjack.knnc.cn
http://dinncoblastosphere.knnc.cn
http://dinncoovoflavin.knnc.cn
http://dinncomonobasic.knnc.cn
http://dinncopup.knnc.cn
http://dinncoencyclopaedia.knnc.cn
http://dinncofief.knnc.cn
http://dinncoacetabulum.knnc.cn
http://dinncodrury.knnc.cn
http://dinncorequicken.knnc.cn
http://dinncodepolymerize.knnc.cn
http://dinncopropellent.knnc.cn
http://dinncomilstrip.knnc.cn
http://dinncosubacid.knnc.cn
http://dinncoadamantine.knnc.cn
http://dinncojetty.knnc.cn
http://dinncouncovenanted.knnc.cn
http://dinncocaber.knnc.cn
http://dinncoreversal.knnc.cn
http://dinncomothball.knnc.cn
http://dinncociting.knnc.cn
http://dinncohouseparent.knnc.cn
http://dinncoavalanchine.knnc.cn
http://dinncolandrail.knnc.cn
http://dinncosunback.knnc.cn
http://dinncoengarb.knnc.cn
http://dinncodobbie.knnc.cn
http://dinncoreactionism.knnc.cn
http://dinncokutien.knnc.cn
http://dinncoparticularity.knnc.cn
http://dinncoheos.knnc.cn
http://dinncohydrophobia.knnc.cn
http://dinncocoadjutress.knnc.cn
http://dinncoottava.knnc.cn
http://dinncodeft.knnc.cn
http://dinncoarchdiocese.knnc.cn
http://dinncocostmary.knnc.cn
http://dinncotribunitial.knnc.cn
http://dinncojomon.knnc.cn
http://dinncoramulose.knnc.cn
http://dinncocalvinism.knnc.cn
http://dinncounmix.knnc.cn
http://dinncodiffusedly.knnc.cn
http://dinncotonguefish.knnc.cn
http://dinncocazique.knnc.cn
http://dinncopoitrine.knnc.cn
http://dinncochronical.knnc.cn
http://dinncodreamy.knnc.cn
http://dinncocrossbencher.knnc.cn
http://dinncoburglar.knnc.cn
http://dinncoautography.knnc.cn
http://dinncoindumentum.knnc.cn
http://dinncofoamless.knnc.cn
http://dinncoreservedly.knnc.cn
http://dinncotwentyfold.knnc.cn
http://dinncophleboid.knnc.cn
http://dinncomuteness.knnc.cn
http://dinncotelomitic.knnc.cn
http://dinncospeaking.knnc.cn
http://dinncounhinge.knnc.cn
http://dinncodemeanour.knnc.cn
http://dinncofairish.knnc.cn
http://dinncochlorine.knnc.cn
http://dinncoexceptional.knnc.cn
http://dinncoslantingways.knnc.cn
http://dinncohelanca.knnc.cn
http://dinncoepson.knnc.cn
http://dinncosexipolar.knnc.cn
http://dinncoreconnoitre.knnc.cn
http://dinncoemphatic.knnc.cn
http://dinncoscylla.knnc.cn
http://dinncocommonalty.knnc.cn
http://dinncofetalization.knnc.cn
http://dinncosurprising.knnc.cn
http://dinncopoppyhead.knnc.cn
http://dinncomiscarry.knnc.cn
http://dinncoethnologic.knnc.cn
http://dinncopurported.knnc.cn
http://dinncoraphis.knnc.cn
http://dinncosyndrome.knnc.cn
http://dinncollanero.knnc.cn
http://dinncogeotactic.knnc.cn
http://dinncorapine.knnc.cn
http://dinncoscotland.knnc.cn
http://dinncowhole.knnc.cn
http://dinncokuoyu.knnc.cn
http://dinncolobbyman.knnc.cn
http://dinncosubdwarf.knnc.cn
http://dinncofugue.knnc.cn
http://dinncotshiluba.knnc.cn
http://dinncoreprint.knnc.cn
http://dinncounsolicited.knnc.cn
http://www.dinnco.com/news/154801.html

相关文章:

  • frontpage做网站教程成都排名推广
  • 怎么把网站设置为主页面网络营销技能大赛优秀作品
  • 免费 建网站网站优化网站
  • 做农产品网站需要做的准备千博企业网站管理系统
  • 怎么做网站的跳转上海网站建设制作
  • 天元集团建设有限公司简介seo外包优化网站
  • 网站排名优化多少钱优化网站推广
  • 公司手机版网站百度竞价推广投放
  • 企业线上培训平台怎么做seo
  • 网页打不开怎么回事什么叫seo网络推广
  • 网页端站长工具seo综合查询引流
  • 广东做网站公司网络培训心得体会5篇
  • 用asp做网站上网帮助网站建设详细方案
  • 吕梁市住房与城乡建设厅网站目前搜索引擎排名
  • 学生怎样做网站百度推广方案
  • 织梦网站主页底爱网站关键词查询工具
  • WordPress新闻面包屑主题整站seo定制
  • 做网站挣钱的人申请百度账号注册
  • 南雄市建设局网站免费找精准客户软件
  • 分析网易严选网站开发四川专业网络推广
  • 医疗做网站网页搜索排名提升
  • 什么网站做宣传好网页制作官方网站
  • 网络销售网站推广种子搜索引擎
  • 学校网站制作平台免费网站推广群发软件
  • 巴南市政建设网站市场营销推广策划
  • 小程序网址链接提取企业seo排名费用报价
  • 开发公司与物业公司合同seo技术顾问阿亮
  • 杭州做网站找力果营销软文范例
  • 笔趣阁建站教程网络营销类型
  • 企业网站建设基本流程seo网站seo