从古至今数据安全的守护者:哈希算法和加密方法的数据安全进化之旅_绝对安全的哈希算法

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
![img](https://img-
blog.csdnimg.cn/img_convert/185bf3753fc936aa8ef0931dd13a92cd.png)
![img](https://img-
blog.csdnimg.cn/img_convert/cfc9fd522bb3d4248a2ed9f9a9922c3b.png)
![img](https://img-
blog.csdnimg.cn/img_convert/85ec599b35bb034740925939ff126258.png)
![img](https://img-
blog.csdnimg.cn/img_convert/b4e67909bb18f4b142209d30e1ff6a7d.png)
![img](https://img-
blog.csdnimg.cn/img_convert/f820c1a3366e2fd654157d5a80580964.png)
![img](https://img-
blog.csdnimg.cn/img_convert/b854930d2ffc739cee6677a20e2e9639.png)

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上网络安全知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip204888 (备注网络安全)
![img](https://img-
blog.csdnimg.cn/img_convert/0452084f70d0c538ba0fa5476163215b.png)

正文

SHA-3(Secure Hash Algorithm
3)是SHA算法家族的最新成员,于2015年发布。SHA-3使用Keccak算法作为其核心,提供了更高的安全性和更好的性能。相比SHA-2,SHA-3在抵抗碰撞攻。

“SHA-3更安全为什么没为普及?”

SHA-3是一种新的哈希函数家族,它在设计上与之前的SHA-2系列有所不同。虽然SHA-3提供了一些独特的优势,但在实际应用中为什么不普遍使用SHA-3可能有以下几个原因:

  1. 缺乏标准化:由于SHA-3是一种新兴的技术,目前还没有一个统一的标准来定义它的实现细节和规范。这导致了不同的实现之间存在差异,使得在不同平台上使用SHA-3时可能会出现兼容性问题。
  2. 性能问题:虽然SHA-3比SHA-2更快,但相对于传统的密码散列函数(如MD5、SHA-1等),SHA-3的计算速度仍然较慢。这使得在某些场景下,如需要高效处理大量数据的场景下,SHA-3可能不是最优选择。
  3. 缺乏广泛应用:由于SHA-3还处于发展阶段,目前还没有得到广泛的应用和验证。这也导致了一些企业和组织在使用密码散列函数时更倾向于使用已经经过验证的传统算法。
1.5、Bcrypt

Bcrypt是一种密码哈希函数,用于对密码进行加密和存储时使用。它采用单向哈希函数的方式,将密码转化为固定长度的哈希值。bcrypt主要用于密码的安全存储,以防止密码泄露时遭受暴力破解。

bcrypt的特点是它的计算成本可调,这意味着可以通过增加计算时间来增加哈希函数的强度。这对于防止暴力破解攻击非常有用,因为攻击者需要花费大量的时间和计算资源来尝试每个可能的密码。

与其他传统的哈希函数(如MD5和SHA)相比,bcrypt更加安全,因为它使用了“盐”(salt)和迭代的哈希过程。盐是一个随机生成的字符串,与密码组合在一起进行哈希,以增加密码哈希的随机性和复杂性。通过多次迭代哈希过程,bcrypt可以增加密码验证的计算成本,从而使破解密码变得更加困难。

1.6、SM3国密哈希算法

SM3哈希算法是一种密码散列函数,与SHA-256和SHA-384类似。它是由国家密码管理局制定的一种分组密码散列函数,用于数字签名、消息认证和其他安全应用。

1.7、小结

目前最常用的哈希算法之一是SHA-256(Secure Hash Algorithm
256位)。SHA-256是SHA-2系列中的一种算法,生成256位的散列值。

![](https://img-
blog.csdnimg.cn/img_convert/a618bc72513ae227924f4e228ce22710.webp?x-oss-
process=image/format,png)

2、数据加密进化史

![](https://img-
blog.csdnimg.cn/img_convert/5fa4d608db35436d653e208bba50b1be.webp?x-oss-
process=image/format,png)

2.1、Base64编码

相信Base64大家并不陌生,不论你使用的是什么开发语言都会使用Base64。数据从可读变成一串不可读的串。所以很多人认为Base64是一种加密算法。其实Base64只一种编码并不是一种加密算法。

Base64是一种将二进制数据编码为ASCII字符的编码方式。在Java中,可以使用Base64类进行Base64编码和解码操作。Base64主要用于数据的传输和存储,不是一种加密算法。

2.2、对称加密算法

对称加密算法使用相同的密钥来进行加密和解密操作。在Java中,常见的对称加密算法包括AES(Advanced Encryption
Standard)和DES(Data Encryption Standard)。对称加密算法适用于大量数据的加密和解密过程。

除了AES、DES外,还有一种对称加密算法SM4,也称为国密SM4,是中国国家密码管理局发布的一种分组加密算法。SM4是一种对称密钥算法,意味着加密和解密过程使用相同的密钥。

SM4算法采用分组加密模式,将明文数据按照固定长度的块进行分组,然后使用密钥对每个数据块进行加密和解密操作。SM4算法的分组长度为128位,密钥长度为128位,支持ECB(电子密码本模式)和CBC(密码分组链接模式)等加密模式。

2.3、非对称加密算法

非对称加密算法使用一对密钥,包括公钥和私钥。公钥用于加密数据,私钥用于解密数据。在Java中,常见的非对称加密算法包括RSA(Rivest-Shamir-
Adleman)和DSA(Digital Signature Algorithm)。非对称加密算法常用于数据传输中的密钥交换和数字签名。

除了RSA、DSA外,还有一种非对称加密算法SM2,SM2算法是中国国家密码管理局制定的一种椭圆曲线公钥密码体制,用于数字签名、密钥交换等安全通信场景。它基于椭圆曲线密码学原理,提供了一种安全且高效的非对称加密方法。

2.4、数字信封技术(对称+非对称)

数字信封技术是一种结合了对称加密和非对称加密的加密方案,用于保护数据的机密性和完整性。它的基本原理如下:

  • 生成密钥对:首先,接收方生成一对非对称密钥,包括公钥和私钥。公钥用于加密,私钥用于解密。
  • 生成对称密钥:发送方生成一个随机的对称密钥,用于对待发送的数据进行加密。
  • 加密数据:发送方使用对称密钥对数据进行加密,得到加密后的密文。
  • 加密对称密钥:发送方使用接收方的公钥,对对称密钥进行加密,得到加密后的密文。
  • 创建数字信封:发送方将加密后的数据和加密后的对称密钥一起组成数字信封。
  • 发送数据:发送方将数字信封发送给接收方。
  • 解密过程:接收方使用私钥解密加密的对称密钥,得到原始的对称密钥。
  • 解密数据:接收方使用解密后的对称密钥对密文进行解密,得到原始的数据。

优点:

  • 保证数据机密性:通过对称加密算法加密数据,确保只有拥有正确对称密钥的接收方能够解密数据。
  • 公钥加密的效率优势:使用非对称加密算法加密对称密钥,非对称加密算法通常较对称加密算法更安全,但计算复杂度较高。通过结合使用,能够充分发挥非对称加密算法的优势,同时提高效率。
  • 数字签名:数字信封技术可以与数字签名结合使用,通过对数字信封的加密进行数字签名,确保数据的完整性和身份验证。

缺点:

  • 密钥管理复杂性:数字信封技术涉及多个密钥,包括对称密钥和非对称密钥,密钥的生成、分发和管理都需要谨慎处理,增加了密钥管理的复杂性。
  • 性能开销:由于数字信封技术同时使用了对称加密和非对称加密,对计算和存储资源有一定的开销,尤其是在大量数据加密和解密的情况下。
2.5、自定义加密算法

加密算法可以包括数据转换、替换、混淆、扩散和迭代等操作。设计时需要注意算法的复杂度和安全性,确保算法能够抵抗常见的攻击方式。

3、数字证书
3.1、MD5被取代

MD5在数字证书领域的使用已经被废弃多年。具体来说,MD5作为数字证书中签名算法的使用在2004年就已经被宣布不安全,并逐渐被取代。

在2004年,一项名为"MD5漏洞攻击"(MD5 Collision
Attack)的研究表明,通过特定的方式可以生成两个不同的输入,但它们的MD5哈希值是相同的。这意味着恶意攻击者可以伪造数字证书,并使用相同的MD5哈希值来欺骗系统。这导致了对MD5在数字证书中的使用的广泛关注和警示。

随后,各个证书颁发机构(CA)和浏览器厂商纷纷采取行动,停止使用MD5作为数字证书的签名算法。例如,微软于2008年宣布停止接受使用MD5签名的数字证书,Mozilla、Google、Apple等也相继跟进,禁止或限制了MD5签名的数字证书的信任。

3.2、SHA-1被取代

SHA-1在数字证书领域的使用逐渐被废弃,并在不同的阶段有不同的时间表。以下是SHA-1在数字证书中逐步被废弃的重要时间节点:

本人从事网路安全工作12年,曾在2个大厂工作过,安全服务、售后服务、售前、攻防比赛、安全讲师、销售经理等职位都做过,对这个行业了解比较全面。

最近遍览了各种网络安全类的文章,内容参差不齐,其中不伐有大佬倾力教学,也有各种不良机构浑水摸鱼,在收到几条私信,发现大家对一套完整的系统的网络安全从学习路线到学习资料,甚至是工具有着不小的需求。

最后,我将这部分内容融会贯通成了一套282G的网络安全资料包,所有类目条理清晰,知识点层层递进,需要的小伙伴可以点击下方小卡片领取哦!下面就开始进入正题,如何从一个萌新一步一步进入网络安全行业。

![](https://img-
blog.csdnimg.cn/img_convert/311903982dea1d8a5d2c98fc271b5b41.jpeg)

学习路线图

其中最为瞩目也是最为基础的就是网络安全学习路线图,这里我给大家分享一份打磨了3个月,已经更新到4.0版本的网络安全学习路线图。

相比起繁琐的文字,还是生动的视频教程更加适合零基础的同学们学习,这里也是整理了一份与上述学习路线一一对应的网络安全视频教程。

![](https://img-
blog.csdnimg.cn/img_convert/1ddfaf7dc5879b1120e31fafa1ad4dc7.jpeg)

网络安全工具箱

当然,当你入门之后,仅仅是视频教程已经不能满足你的需求了,你肯定需要学习各种工具的使用以及大量的实战项目,这里也分享一份我自己整理的网络安全入门工具以及使用教程和实战。

![](https://img-
blog.csdnimg.cn/img_convert/bcd1787ce996787388468bb227d8f959.jpeg)

项目实战

最后就是项目实战,这里带来的是SRC资料 &HW资料,毕竟实战是检验真理的唯一标准嘛~

![](https://img-
blog.csdnimg.cn/img_convert/35fc46df24091ce3c9a5032a9919b755.jpeg)

面试题

归根结底,我们的最终目的都是为了就业,所以这份结合了多位朋友的亲身经验打磨的面试题合集你绝对不能错过!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注网络安全)
![img](https://img-
blog.csdnimg.cn/img_convert/77a49bf54275b681c40093b9f167fbc0.png)

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

入研究,那么很难做到真正的技术提升。**

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注网络安全)
[外链图片转存中…(img-Ix47UUx0-1713216165580)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

学习网络安全技术的方法无非三种:

第一种是报网络安全专业,现在叫网络空间安全专业,主要专业课程:程序设计、计算机组成原理原理、数据结构、操作系统原理、数据库系统、 计算机网络、人工智能、自然语言处理、社会计算、网络安全法律法规、网络安全、内容安全、数字取证、机器学习,多媒体技术,信息检索、舆情分析等。

第二种是自学,就是在网上找资源、找教程,或者是想办法认识一-些大佬,抱紧大腿,不过这种方法很耗时间,而且学习没有规划,可能很长一段时间感觉自己没有进步,容易劝退。

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

第三种就是去找培训。

image.png

接下来,我会教你零基础入门快速入门上手网络安全。

网络安全入门到底是先学编程还是先学计算机基础?这是一个争议比较大的问题,有的人会建议先学编程,而有的人会建议先学计算机基础,其实这都是要学的。而且这些对学习网络安全来说非常重要。但是对于完全零基础的人来说又或者急于转行的人来说,学习编程或者计算机基础对他们来说都有一定的难度,并且花费时间太长。

第一阶段:基础准备 4周~6周

这个阶段是所有准备进入安全行业必学的部分,俗话说:基础不劳,地动山摇
image.png

第二阶段:web渗透

学习基础 时间:1周 ~ 2周:

① 了解基本概念:(SQL注入、XSS、上传、CSRF、一句话木马、等)为之后的WEB渗透测试打下基础。
② 查看一些论坛的一些Web渗透,学一学案例的思路,每一个站点都不一样,所以思路是主要的。
③ 学会提问的艺术,如果遇到不懂得要善于提问。
image.png

配置渗透环境 时间:3周 ~ 4周:

① 了解渗透测试常用的工具,例如(AWVS、SQLMAP、NMAP、BURP、中国菜刀等)。
② 下载这些工具无后门版本并且安装到计算机上。
③ 了解这些工具的使用场景,懂得基本的使用,推荐在Google上查找。

渗透实战操作 时间:约6周:

① 在网上搜索渗透实战案例,深入了解SQL注入、文件上传、解析漏洞等在实战中的使用。
② 自己搭建漏洞环境测试,推荐DWVA,SQLi-labs,Upload-labs,bWAPP。
③ 懂得渗透测试的阶段,每一个阶段需要做那些动作:例如PTES渗透测试执行标准。
④ 深入研究手工SQL注入,寻找绕过waf的方法,制作自己的脚本。
⑤ 研究文件上传的原理,如何进行截断、双重后缀欺骗(IIS、PHP)、解析漏洞利用(IIS、Nignix、Apache)等,参照:上传攻击框架。
⑥ 了解XSS形成原理和种类,在DWVA中进行实践,使用一个含有XSS漏洞的cms,安装安全狗等进行测试。
⑦ 了解一句话木马,并尝试编写过狗一句话。
⑧ 研究在Windows和Linux下的提升权限,Google关键词:提权
image.png
以上就是入门阶段

第三阶段:进阶

已经入门并且找到工作之后又该怎么进阶?详情看下图
image.png

给新手小白的入门建议:
新手入门学习最好还是从视频入手进行学习,视频的浅显易懂相比起晦涩的文字而言更容易吸收,这里我给大家准备了一套网络安全从入门到精通的视频学习资料包免费领取哦!

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

  • 17
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值