百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

「安全」加密概念及用到的算法

lipiwang 2025-05-24 15:19 2 浏览 0 评论

信息技术方面的信息安全的技术核心之一就是对信息进行加密。常见的场合是信息在网络上传输时,为了防止数据泄露,会对数据进行加密,特别是敏感数据,要求的安全性更高。

加密本身并不能防止信息传输被截取,但加密能防止截取者理解其内容。任何加密信息都可能被破解,不同的加密算法,破解需要的技术和算力是不同的。用到加密的场景一般有如下情况:

  • 数据的保密,防窃取或泄露。
  • 数据的完整,防篡改。
  • 确认身份。

相关概念

加密技术中基本的概念有:

  • 信息,明文,密文

信息是存储或在网络上传输的内容,加密之前是明文,经加密算法处理后是不法直接读取内容的密文。密文经解密算法处理后再还原为明文。

  • 密钥,公钥,私钥

密钥是用于加解密数据工具的一种参数,具体来说就是一串看似无规律的字符。密钥分为对称密钥和非对称密钥。

对称加密中用到的就是对称密钥,通信双方都使用相同的密钥进行加密和解密。

非对称加密中则使用非对称密钥,使用成对存在的公钥和私钥,公开公钥,私钥只有自己知道。公钥加密,私钥解密,反过来也行。

  • 加密算法

算法类型大体可以分为三类,对称加密、非对称加密、单向加密。

采用对称密钥方式的是对称加密,常见算法有DES、3DES、AES,其算法公开、加密快速效率高,适合对大量数据进行加密。但是并不安全。

采用成对的公钥和私钥进行加解密的是非对称加密,常见算法有RSA、DSA,更安全但是算法复杂效率低,一般只用在信息安全传输,数字签名等。

只加密不解密的是单向加密,常见算法有MD5、sha1,常用于验证数据的完整性、数字摘要、数字签名等。

另外还有一种密钥交换算法,如Diffie-Hellman。

加密方式

加密方式主要有对称加密、非对称加密和单向加密。

  • 对称加密

这是应用较早的加密方式,绝大多数需要加密的场合,最初广泛使用的是DES算法,现在取代它的是AES算法。

它的工作模式是:数据发送方将明文先分割成固定大小的块,再逐个使用密钥加密为密文,发送给接收方,接收方使用同样的密钥将密文解密和组合,还原为明文。

一般情况下都会为每对通信用户之间协商密钥,至少有一方需要对这些密钥进行管理;而很少采用通信各方都用同样的密钥。

因为此类算法的算法简单,计算量比较小,适合加密大量数据,比如在https的正式传输数据的环节就使用了对称加密。

  • 非对称加密

非对称加密也称公钥加密,有公钥和私钥两份密钥,公开公钥,客户端自行保管私钥。相对于对称加密,此加密方式要安全很多,适合于敏感信息传输。RSA是此方式的最常见算法。

它的工作模式是:如果甲向乙发送数据,那么由乙生成一个包含公钥和私钥的密钥对,自己保管私钥,公开公钥;甲获取到公钥;甲使用公钥对数据进行加密为密文;甲将密文发送给乙;乙使用自己的私钥对密文进行解密,获得明文的数据。

使用公钥加密,必须使用私钥解密,反过来也一样,并且从公钥推导不出私钥。

  • 单向加密

单向加密又称为不可逆加密,即生成密文无法反解的一种加密方式,通常作为加密的基础,而不单纯以此方式加密。它最大的用途:消息认证摘要、内容或文档的数字指纹、口令存储。

常用的MD5和SHA1只是个摘要算法,SHA1只是长度更长,安全性更高,一般都是用来做检验数据的。

相关推荐

Qwen上新AI前端工程师!一句话搞定HTML/CSS/JS,秒变React大神

梦晨发自凹非寺量子位|公众号QbitAIQwen上新“AI前端工程师”WebDev,一句话开发网页应用。三大件HTML,CSS,JavaScript一个工具全包了,定睛一看用的还是Reac...

程序员的 JavaScript 代码该如何让计算机搞懂?

出自程序员之手的JavaScript代码,该如何变成计算机所能理解的机器语言呢?本文将带你走进JavaScript引擎内部,一探究竟。作者|LydiaHallie译者|弯月,责编|...

JavaScript:如何优雅的创建数组?

在JavaScript里,有多种方式可以创建数组,下面为你详细介绍:1.使用数组字面量这是最常用的创建数组的方法,使用方括号[]来创建数组。//创建一个空数组letemptyArray...

Jquery 详细用法

1、jQuery介绍(1)jQuery是什么?是一个js框架,其主要思想是利用jQuery提供的选择器查找要操作的节点,然后将找到的节点封装成一个jQuery对象。封装成jQuery对象的目的有...

HTML页面基本结构和加载过程

大家好,我是皮皮。前言对于前端来说,HTML都是最基础的内容。今天,我们来了解一下HTML和网页有什么关系,以及与DOM有什么不同。通过本讲内容,你将掌握浏览器是怎么处理HTML内容的,...

【HarmonyOS Next之旅】兼容JS的类Web开发(一)

目录1->概述1.1->整体架构2->文件组织2.1->目录结构2.2->文件访问规则2.3->媒体文件格式3->js标签配置3....

JavaScript初学者指南

如果你刚接触JavaScript,想必已经被“modulebundlersvs.moduleloaders”、“Webpackvs.Browserify”和“AMDvs.Common...

前端图片延迟加载详细讲解

原文链接:http://www.gbtags.com/gb/share/6366.htm?原本是打算昨天昨天下午的时候就写一篇关于前端图片延迟加载的详细技术的博客的,没想到下午公司项目出现了一些问题...

selenium:操作滚动条的方法(8)

selenium支持几种操作滚动条的方法,主要介绍如下:使用ActionChains类模拟鼠标滚轮操作使用函数ActionChains.send_keys发送按键Keys.PAGE_DOWN往下滑动...

jQuery 获取和设置HTML元素

jQuery中包含更改和操作HTML元素和属性的强大方法。我们可以通过这些方法来获取HTML元素中的文本内容、元素内容(例如HTML标签)、属性值等。text()方法text()方法可以用...

JavaScript脚本如何断言select下拉框的元素内容?

使用JavaScript脚本断言select下拉框的元素内容,需要考虑页面元素是否加载成功,出错时打印等,主要实现功能功能需包括如下几点:1.等待下拉框元素加载完成(支持超时设置)2.获取下...

JavaScript图片或者div拖动拖动函数的实现

/**拖动图片封装html格式:<imglay-src="${item.Resourcesurl}"alt="${item.ResourcesName}"...

JavaScript代码怎样引入到HTML中?

JavaScript程序不能独立运行,它需要被嵌入HTML中,然后浏览器才能执行JavaScript代码。通过<script>标签将JavaScript代码引入到HTM...

当你在Vue.js中想要隐藏 `` 标签时,可以这样做:

在Vue.js里,要是你想要搞掉`<br>`(换行)标签的效果,通常有几种路子:1.使用CSS嗯,最简单的办法就是用CSS搞定,控制元素的样式,让<br>标签彻底不显示...

php手把手教你做网站(三十)上传图片生成缩略图

三种方法:按比例缩小、图片裁切、预览图片裁切不管使用哪一个都是建立在图片已经上传的基础上;预览裁切上传,如果预览的图片就是原始大小,可以预览裁切以后上传(这里是个假象,下边会说明);1、上传以后按比例...

取消回复欢迎 发表评论: