C# 加密解密总结

目录

不可逆加密(安全)

对称可逆加密(速度快,效率高,安全差)

非对称可逆加密(特别适用于分布式系统)

MD5

用途

是什么

比特是什么

字节是什么

为什么MD5不可逆

RSA

CA机构

不可逆加密(安全)

不能解密,SHA1,MD5。

对称可逆加密(速度快,效率高,安全差)

加密和解密key都是一样的,DES,IDEA,AES。

非对称可逆加密(特别适用于分布式系统)

加密和解密key是不一样的,RSA,DSA。

MD5

用途

  1. 字符串加密。
  2. 文件加密可以做摘要,无论原文如何,都能得到一个16位或者32位字符串。

是什么

MD5算法可以看作是一台机器,计算机上的任何内容被丢进去,都将输出一个长度固定为128比特的MD5值。

比特是什么

  1. 比特是计算机最基本的存储单元。
  2. 二进制中的一位,就叫做1bit,也就是0或者1。

字节是什么

  1. 英文字符通常是一个字节,中文字符通常是两个字节。
  2. 1Byte=8bit。

为什么MD5不可逆

  1. MD5算法生成散列值的过程分为三步:填充对齐,分块,多轮压缩。
  2. 比如输入一个消息内容,首先要对它进行补齐操作,比如现在一共715个比特,需要把它补齐为512 比特的整数倍大小,那就在后面补上309个比特数据,变成1024比特,是512的2倍。
  3. 在补齐的数据中,最后64位固定长度用来表示原始数据的大小,小端在前的格式也就是715,中间剩 下的比特第一个填1剩下的都是0。
  4. 如果现在输入数据的大小是972,和1024只相差52比特,这放不下最后固定用来表示原始长度的64 比特数据,所以需要把它补齐到512的下一个整数倍,也就是1536比特,这样又可以在最后填上 表示原始数据大小的64比特数据,中间的还是老样子第一位是1,其它是0。
  5. 比如刚好输入的是512的整倍数,就是512,为了能够填上最后必须的64位数据,也得把它补成1024 比特。
  6. 补齐后进行第二步操作分块,因为已经把数据补成了512比特的整倍数,所以现在就一定能把它们分 成若干个512比特的数据块。比如现在是2大块,MD5最后输出的是一个128比特的散列值,作者把 它分成了四个部分,并用4个幻数设定了它们的初始值。
  7. 进入最后一步,从第一个大块开始,在每个大块上进行多轮压缩,把当前散列值的4个部分各自复制 一份,分别用a,b,c,d表示,压缩一共有四轮,每轮压缩过程使用数据块和a,b,c,d进行一系列与, 或,非,和循环位移的位操作,把a,b,c,d各自更新4次。四轮压缩则一共把a,b,c,d更新了16次。
  8. 完成4轮压缩后,把最后得到的a,b,c,d分别加回当前散列值的四个部分,散列值被更新。
  9. 之所以要压缩,是因为整个过程实际上是在用512比特的数据块,来更新128比特的散列值,信息 被压缩了。
  10. 然后再用第二个大块,操作是和前一个大块是一致的,唯一不同的是,此时散列值的初始值是前一个 大块的最终值。
  11. 如果后面还有更多的512比特的大块,都是这样去操作。
  12. 当在所有大块上完成多轮压缩,散列值也就被更新为最终输出的MD5值。
  13. 最后再把这四个部分合起来。

RSA

RSA公开解密可以做数字签名,我解密的这个东西一定是来自于谁的。

CA机构

  1. CA机构一般用自己的加密key,加密一下网站的基本信息,然后把证书放在该网站的服务器上。
  2. 浏览器内置了该网站的CA证书,当浏览器请求该网站的时候,该网站的服务器会先查看浏览器内置的 CA证书和服务器上面的CA证书是否一致。
  3. 浏览器第一次请求的时候会经过多重认证,如果浏览器没有关闭那么再次请求的时候就不需要那么多 的认证。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木子丶鹏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值