网络安全中常用的几种加密方式是什么

发布时间 - 2021-01-08 00:00:00    点击率:

下面是网络传输中常用的几种加密方式:

(学习视频分享:编程视频)

提示:这些加密涉及明文传输的,需要在https协议上加密传输。

1、密钥散列

采用MD5或者SHA1等散列算法,对明文进行加密(这里的加密仅对人,不对机器,因为这些算法机器可以用对应算法算出来)

优点:防篡改
适用场景:普通文件下载
缺点:不具备安全性,可认证性

2、对称加密

优点:安全、可认证
适用场景:收发方数量固定,密钥使用对象少
缺点:BS网络传输关系,密钥过多难维护,除非对密钥进行加密传输

3、非对称加密

3.1、接收方发送公钥(保证数据完整性)

前提:首次通信时发送方接收了接收方的公钥,并保存在本地

3.2、发送方发送公钥(保证发送方认证)

前提:首次通信时接收方接收了发送方的公钥,并保存在本地

4、数字签名

适用场景:登录认证
缺点:不具备足保密性

速记

对称算法

对称算法(SymmestricAlgorithm).Create()=>
Provider.CreateEncryptor()
Provider.CreateDecryptor()
CryptoStream(Stream stream,ICrytoTransform transform,CryptoStreamMode mode):
CryptoStream(encryptedSteam,encryptor,CryptoStreamMode.Write)//加密 准备读取 空encryptedSteam准备被写入
CryptoStream(encryptedSteam,decryptor,CryptoStreamMode.Read)//解密 准备写入 密文流encryptedSteam准备被读取

非对称加密

非对称加密(ASymmistricAlgorithm):
Provider provider
provider.ToXmlString(true);//获得公私钥对
provider.ToXmlString(false);//获得公钥
provier.FromXmlString(publicKeyXml);
provier.FromXmlString(privateKeyXml);
provider.Encrypt();
provider.Decrypt();

实例:

对称加密:

            string key = "abc";
            string sendContent="你好!";
            var byteKey = Encoding.UTF8.GetBytes(key);
            var byteIV = Encoding.UTF8.GetBytes(key);//加密算法初始化向量
            DESCryptoServiceProvider des = new DESCryptoServiceProvider();//使用des加密
            byte[] bytesContent = Encoding.UTF8.GetBytes(sendContent);
            MemoryStream ms = new MemoryStream();
            CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(byteKey, byteIV), CryptoStreamMode.Write);
            cs.Write(bytesContent, 0, bytesContent.Length);
            cs.FlushFinalBlock();

相关推荐:网站安全教程


# 网络安全  # 对象  # transform  # 算法  # https  # 公钥  # 首次  # 非对称  # 并保存  # 网络传输  # 可以用  # 几种  # 对人  # 不具备  # 算出来 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)  Laravel API资源类怎么用_Laravel API Resource数据转换  EditPlus中的正则表达式 实战(4)  Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南  百度浏览器如何管理插件 百度浏览器插件管理方法  Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧  如何挑选优质建站一级代理提升网站排名?  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  如何快速上传自定义模板至建站之星?  如何用景安虚拟主机手机版绑定域名建站?  如何快速搭建高效服务器建站系统?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】  Laravel如何设置自定义的日志文件名_Laravel根据日期或用户ID生成动态日志【技巧】  JavaScript如何实现继承_有哪些常用方法  Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】  Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决  EditPlus 正则表达式 实战(3)  Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置  如何解决hover在ie6中的兼容性问题  laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法  Laravel如何生成URL和重定向?(路由助手函数)  Internet Explorer官网直接进入 IE浏览器在线体验版网址  js实现获取鼠标当前的位置  Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】  如何在香港服务器上快速搭建免备案网站?  装修招标网站设计制作流程,装修招标流程?  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  javascript如何操作浏览器历史记录_怎样实现无刷新导航  如何用PHP工具快速搭建高效网站?  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  Laravel如何使用Service Container和依赖注入?(代码示例)  LinuxShell函数封装方法_脚本复用设计思路【教程】  javascript中对象的定义、使用以及对象和原型链操作小结  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  Laravel如何使用withoutEvents方法临时禁用模型事件  桂林网站制作公司有哪些,桂林马拉松怎么报名?  公司门户网站制作流程,华为官网怎么做?  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  如何用VPS主机快速搭建个人网站?  Laravel怎么实现模型属性的自动加密  HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】  深入理解Android中的xmlns:tools属性  Laravel怎么调用外部API_Laravel Http Client客户端使用  如何用美橙互联一键搭建多站合一网站?  免费网站制作appp,免费制作app哪个平台好?  Python企业级消息系统教程_KafkaRabbitMQ高并发应用  Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】