漫谈:编码、哈希、摘要、加密都是什么(别再问“用base64加密行不行”了,会被鄙视)

本文介绍了编码、哈希和加密的基本概念,澄清了常见误解,包括HTTP基本认证与加密的区别,以及UNIX用户密码的处理方式。重点区分了编码(如ASCII和base64)与真正的加密(如非对称和对称加密).
摘要由CSDN通过智能技术生成

初级代码游戏的专栏介绍与文章目录-CSDN博客

我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。

这些代码大部分以Linux为目标但部分代码是纯C++的,可以在任何平台上使用。


        刚接触加密领域的新手经常搞不清楚这几个概念,这里给大家辨析一下,不是基础普及,所以你应该先对这些略知一二。

目录

1 什么是编码

2 什么是哈希和摘要

3 什么是加密

4 对比

5 HTTP的基本认证是加密吗

6 UNIX用户密码是加密的吗

7 私有编码算不算加密


1 什么是编码

        什么是编码:编码是用一种公开的方式把数据从一种形式变换为另一种形式,没有密钥,可逆,不丢失信息。典型如ASCII、UTF-8、URL encode,以及非常常用的base64。很多人以为让别人看不出来就是加密,不是的啊,让别人解不出来才是加密(需要密钥)。

2 什么是哈希和摘要

        什么是哈希:哈希是一种算法,把数据映射到一个固定长度的值,没有密钥,不可逆,无法还原数据。

        什么是摘要:摘要就是哈希。典型如MD5、SHA。很多人以为MD5是加密,误解了啊,看不懂不是加密,没有密钥解不出来才是加密。

3 什么是加密

        什么是加密:加密是用密钥隐藏信息,没有密钥无法还原信息。加密有两大类,非对称加密和对称加密。非对称加密是互联网安全的基础(非常精妙,解决了通过邮局邮寄钥匙的安全隐患),对称加密则比较高效(非对称加密很慢但并不意味着更安全),通常的用法是用非对称加密加密一个随机对称密钥,也就是RSA+AES,其中AES密钥随机生成,用RSA加密随数据传输,兼顾了安全和高效。

4 对比

编码哈希摘要加密
信息?不丢失信息丢失信息不丢失信息
看懂?有些看不懂,有些能看懂看不懂看不懂
还原?能还原不能还原有密钥才能还原
速度?很快慢、极慢

5 HTTP的基本认证是加密吗

        HTTP的基本认证是加密的吗?不是的,只是把用户名密码用base64编码而已,base64编码不使用常见的符号,可以安全地混合在格式文本中,所以非常常用。但是一定要记住,这只是编码,而非加密。

6 UNIX用户密码是加密的吗

        UNIX的用户密码是加密的吗?不是的,那是个摘要。UNIX的用户密码的原始文本只在用户的脑子里,登录的时候用密码生成摘要,跟文件里那个字段比较,一致就通过。

        摘要很难被反推出来,但是暴力猜测还是可能的,但是猜到的那个未必是用户使用的秘密,因为两个文本生成同一个摘要的概率还是有的(只要数据的位数大于摘要的位数,冲突就是不可避免的)。

7 私有编码算不算加密

        用一种私有的方式编码算不算加密?比如把所有字符值+1,你不告诉我的话也算吧——但是太容易破解啊。

        顺便说一句,RSA算法的数学基础好像还没有被证明,万一错了,整个互联网就崩溃了。


(这里是结束)

  • 11
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值