搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
小桥流水78
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
从业,学习web前端,迷茫怎么办?_迷茫前端
2
Java求数组所有子数组的两种方法_java 求数组的所有子集
3
在 Vim 编辑器中,如果某个单词被意外地高亮显示,使用:noh可以取消高亮显示_linux vim高亮了某一个
4
盘点国内热门AI大模型_mindspore微调千问
5
electron选择加载本地资源【图片、视频、音频】_electron加载本地图片
6
使用naive-ui做一个标签页展示列表_ntabs、ntabpane
7
Unity_C#_射线检测_Bug小结_unity3d c# 射线检测失效
8
牛客暑期多校5简单题解_点到直线的距离公式推导
9
【Unity3D】安卓平台上Physics.Raycast射线检测物体问题_unity手机上射线检测失效
10
[读论文]Transformers are SSMs_transformers are ssms: generalized models and effi
当前位置:
article
> 正文
安全加密算法与数据签名总结(1)_加密,签名,压缩的先后顺序 csdn
作者:小桥流水78 | 2024-08-04 20:21:09
赞
踩
加密,签名,压缩的先后顺序 csdn
常用的安全算法主要包括
摘要算法、对称加密算法、非对称加密算法、信息编码
等。
数字摘要
数字摘要也称为消息摘要,它是一个唯一对应一个消息或文本的固定长度的值,它由一个单向Hash函数对消息进行计算而产生。如果消息在传递的途中改变了,接收者通过对收到的消息采用相同的Hash重新计算,新产生的摘要与原摘要进行比较,就可知道消息是否被篡改了,因此消息摘要能够验证消息的完整性。消息摘要采用单向Hash函数,将需要计算的内容“摘要”成固定长度的串,这个串也成为
数字指纹。
这个串有固定的长度,且不同的明文摘要成密文,其结果总是不同的(相对的,这个后面会介绍),而相同的明文其摘要必定一致。这样这串摘要便可成为验证明文是否是“真身”的“指纹”了。
待摘要串----->Hash函数----->摘要
如果待摘要的关键字为k,Hash函数为f(x),则关键字k的摘要为f(x),若关键字k1不等于k2,而
f(k1)=f(k2)
,这种现象称为
Hash碰撞
。一个Hash函数的好坏是由发生碰撞的概率决定的,如果攻击者能够轻易地构造出两个具有相同Hash值的消息,那么这样的Hash函数是很危险的。也可以认为摘要的长度越长算法也就越安全。由于数字摘要并不包含原文的完整信息,因此,要从摘要信息逆向得出待摘要的明文串,原则上几乎是不可能完成的任务。
有关消息摘要的特点总结如下:
(1)无论输入的消息有多长,计算出来的消息摘要的长度总是固定的。例如,
应用MD5算法计算的摘要消息有128个比特位,而使用SHA-1算法计算出来的摘要消息有160个比特位。
(2)一般只要输入的消息不同,对其进行摘要以后产生的摘要消息也不相同,但相同的输入必会产生相同的输出。这是一个好的消息摘要算法所需要具备的性质:输入改变了,输出也就改变了,两条相似的消息的摘要却大相径庭。好的摘要算法很难从中找到“碰撞”,虽然“碰撞“肯定是存在的。
(3)由于消息摘要并不包含原文的完整信息,因此只能进行正向的信息摘要,而无法从摘要中恢复出原来的消息,甚至根本就找不到任何与原信息相关的信息。当然。可以采用暴力攻击的方法,尝试每一个可能的信息,计算其摘要,看看是否与已有的摘要相同。如果采用这种方式,最终肯定能恢复出摘要的消息,但是这种穷举的方式以目前的计算水平来看,需要消耗相当长的时间,因此被认为是不可能实现的。
1、MD5
MD5即Message Digest Algorithm5(信息摘要发5),是数字摘要算法的一种实现,用于确保信息传输完整性和一致性,摘要长度为128位。MD5是由MD4、3、2改进而来,主要增强了算法复杂度和不可逆。该算法因其普遍、稳定、快速的特点,被业界广泛使用。
Java的MD5算法的基本使用
public static byte[] encryptionMD5(String content){
try {
// Create MD5 Hash
MessageDigest md = MessageDigest.
getInstance
("MD5");
byte[] bytes = md.digest(content.getBytes("utf-8"));
return
bytes
;
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
通过
MessageDigest取得MD5摘要算法的实例,然后通过digest方法进行MD5的摘要。
MD5算法生成的摘要串进行十六进制编码处理
private static final char
HEX_DIGITS
[] = {
'0'
,
'1'
,
'2'
,
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/小桥流水78/article/detail/929356
推荐阅读
article
电源
设计的
BUCK
-
BOOST
电路_
buck
-
boost
csdn
...
DC-DC(开关稳压器)分为隔离型、非隔离型。隔离性DC-DC的意思是输出的GND与输入的GND是无关系的,也称“悬浮电...
赞
踩
article
新手必备
!
短
视频剪辑
常用
的
18个技巧——
剪映
篇_
剪映
的
基本操作
有哪些?
csdn
...
有画面特效、人物特效、图片玩法及AI制作,我们常用画面特效和人物特效,像画面特效可以制作复古胶片效果,提升视频趣味性和高...
赞
踩
article
论文
精读——
InternVL
_
intern
-vl
论文
csdn
...
本文主要记录对于
InternVL
文章的精读细节。_
intern
-vl
论文
csdn
intern
-vl
论文
csdn
...
赞
踩
article
看完
这
篇文章
轻松学会如何
视频剪辑
制作
_
视频剪辑
csdn
...
最近几年,由于大众居家的时间越来越长,短视频
这
一视频表现形式逐步占据“主流”,越来越多的人也开始接触并
制作
短视频。此前,...
赞
踩
article
如何
剪辑
视频
?
方法
来了
,
零基础也能学会!_
视频
剪辑
csdn
...
在本文中
,
我们将详细介绍如何
剪辑
视频
的两个
方法
。通过学习这些
方法
,
您将能够轻松地将原始
视频
素材制作成精美的
视频
作品
,
展示...
赞
踩
article
人工智能
——
反向
传播
网络_
人工智能
技术传输网
csdn
...
这篇文章简单介绍了
人工智能
中有关
反向
传播
网络及其学习算法的一些知识。_
人工智能
技术传输网
csdn
人工智能
技术传输网 c...
赞
踩
article
给
数据库
的
表
添加
字段
_往
表
里加
字段
csdn
...
【代码】给
数据库
的
表
添加
字段
。_往
表
里加
字段
csdn
往
表
里加
字段
csdn
周五有一个...
赞
踩
article
浅谈
隐私
计算
_
隐私
计算
的
通俗理解
csdn
...
前言随着云
计算
、物联网与大数据等技术
的
不断发展,信息系统服务中针对用户数据
的
收集整理、分析预测手段不断成熟。各种基于位置...
赞
踩
article
基于
PaddleGAN
项目人脸表情动作迁移
学习
(一)
环境
配置_
paddlegan
csdn
...
基于
PaddleGAN
项目人脸表情动作迁移
学习
记录(一)
环境
配置,代码准备文章目录基于
PaddleGAN
项目人脸表情动作...
赞
踩
article
深度探索
C++
对象
模型
_深度探索c++
对象
模型
csdn
...
深度探索
C++
对象
模型
参考链接:第1章 关于
对象
C++
的额外成本三种
对象
模型
简单
对象
模型
表格驱动
对象
模型
C++
对象
模型
c...
赞
踩
article
AGV
是什么?怎么部署? ——
科聪
智能自主导航
控制系统
_
科聪
控制技术
csdn
...
AGV
即“自动导引运输车”,是指装备有电磁或光学等自动导引装置,它能够沿规定的导引路径行驶,具有安全保护以及各种移载功能...
赞
踩
article
科聪
控制系统
典型应用车型 ——
料箱
机器人
_
科聪
控制技术
csdn
...
料箱
机器人
应用在立体仓库是最常见的一种场景,传统的立体仓库,货架太高,货物太多,处理起来繁杂危险。
料箱
机器人
即
料箱
AGV...
赞
踩
article
操作系统
总结_
操作系统
总结 申丰山
csdn
...
1、简述Linux进程内存空间分为哪几个段?作用分别是什么? 答:Linux中的进程包含3个段,分别为“数据段”、“代码...
赞
踩
article
数据挖掘
与
数据分析
_
数据挖掘
csdn...
1、
数据挖掘
(Data Mining)
数据挖掘
是指对大规模数据进行分析,以发现其中潜在的模式、规律或关联性的过程。其目的...
赞
踩
article
IntelliJ IDEA
注册码
_
idea
注册码
csdn
...
http://
idea
.qinxi1992.cn/ http://www.uzzf.com/soft/255370.ht...
赞
踩
article
IP
IDEA
代理
IP
助力高效
数据
采集_
ipidea
csdn
...
在进行爬虫
数据
采集时,开发者往往会遇到各种挑战和痛点。这些包括但不限于:爬虫代码的维护困难、
数据
量庞大、爬虫难度大以及频...
赞
踩
article
图
神经网络
(
GNN
)_
图
神经网络
csdn
...
我们以民国最出名的七角恋人物关系
图
为例进行讲解,如下
图
所示:这是一张
图
,包括人物实体以及人物关系。我们抽象成下面的形式,...
赞
踩
article
区块
链
1——
区块
链
基础
概念
_
区块
链
csdn
...
什么是
区块
链
,
区块
链
的历史和演进,分布式账本,哈希函数和加密学基础
概念
,共识算法:工作量证明、权益证明、拜占庭容错算法、...
赞
踩
article
语音
识别
框架_文字生成
音素
信息
csdn
...
一、
语音
识别
框架传统理论重点研究声学模型,发音字典不用关心,语言模型一般用n-gram预处理:1. 首尾端的静音切除,降...
赞
踩
article
解决
ssh
:
connect
to
host
github
.com port 22: Connec...
今天使用git克隆
github
上的代码时,一直报错原以为是公钥过期了,就尝试修改配置公钥,但是尝试了几次都不行,最终在博...
赞
踩
相关标签
嵌入式硬件
视频
人工智能
深度学习
计算机视觉
pytorch
神经网络
经验分享
音视频
数据库
区块链
零知识证明
big data
迁移学习
paddlepaddle
深度探索C++对象模型
机器人
移动机器人
AGV
AMR
智能物流运输
软件控制
浙江科聪
制造