欢迎光临散文网 会员登陆 & 注册

加密解密

2023-03-21 17:34 作者:茶蒎o  | 我要投稿

加密分类

1)不可逆加密

不可逆,就是指不能返回,就是远信息数据,通过加密后得到的密文数据库信息,不存在算法让密文变回来,不能变回原文信息;md5 hash散列计算为代表

2)可逆加密

可逆,就是指远信息数据,通过加密算法,加密后,得到的密文数据信息,存在一种解密算法,可以让密文解密后得到原文信息

不可逆加密

MD5加密,就是典型的加密,因为他只能从数据信息通过加密后得到密文信息,而不能从密文再通过计算得到原文;

1)规则:

  • MD5公开算法,hash散列计算;任何语言实现后其实都一样,通用的,无论是C#、java...各种语言的实现都一样。本质是通过hash散列计算,可以对普通的数据信息进行加密,也可以对文件生成文件的摘要。

  • 相同原数据信息加密的结果是一样

  • 不同长度的内容加密后结果都是32位

  • 原文差别很小,结果差别很大

  • 不管文件多大,都能产生32位长度摘要

  • 文件内容 有一点改动,结果变化非常大

  • 文件内容不变,名字变了,结果是不变

3)作用

a)防篡改

发个文档,事先给别人一个md5,是文档的摘要,源代码管理器svn--即使电脑断网了,文件有任何改动都能被发现--本地存了一个文件的md5--文件有更新,就再对比一下md5,极速妙传--扫描文件的md5--跟已有的文件md5对比--吻合表示文件已存在不用再上传

b)密码保护,防止看到明文

密码应该只有用户知道---数据库不能存明文--但是又需要验证,md5加密下原始密码---数据库存密文---下次登陆把密码md5后再对比,密文是可见的,所以要求密码不能太简单

c)防止抵赖

防止抵赖,数字签名,把一些内容摘要一下,由权威第三方去保障,将来这个文件就是你做的,不能抵赖

3)MD5的争议

实质上,MD5知识一种哈希算法。哈希算法,又叫散列算法,是一类把任意数据转换成定长(或限制长度)数据的算法统称。可以把数据计算后得到一个hash散列值,不能计算得到数据。

部分人认为md5不是加密算法,他们认为加密就要对应一个解密,可以把原文加密成密文,也能从密文解密到原文,这才是加密。也有部分人认为这是个不可逆加密


对称可逆加密Des

1)规则:

  • 对称可逆加密,有一组加密解密算法,成套的,且算法是公开的,不同编程语言的应用也是相同的。

  • 有一组加密解密Key--密钥,且密钥是相同的,加密和解密均需要使用密钥,因为密钥相同。也就是说加密和解密都需要使用同一个密钥。知道加密解密算法,无法推导出密钥的;

  • 加密使用的密钥,在解密的时候,也需要使用这个密钥才能解开;

2)特点:

  • 原文昌--加密后--密文也长,原文短---加密后--密文也相对要短一些

  • 加密解密速度超快

  • 容易泄漏密钥,应为密钥是一样,安全性不是最高,相比于非对称可逆加密而言;

3)作用:

  • 互联网传输加密数据信息

  • 防止抵赖

  • jwt鉴权授权


非对称可逆加密Rsa

1)规则:

  • 非对称可逆加密:有一套公开的加密解密算法,公开的,大家都知道

  • 同时有一组加密解密Key,这组Key是成套的,且两个Key不一样;无法通过加密算法推导出这一组Key;且具有私有Key和公有Key之分,私有Key就是只有自己知道的,私有化的;可以加密也可以解密;公有Key,是公开的,所有人都可以知道。

    注意:在其他的有些实现中,是私有Key加密,公有Key解密,这个是为了能够做签名;在C#中的实现,提供的Api是公有Key加密,智能由私有Key解密;关于签名这个由另外的api支持。

2)特点:

  • 原文短--加密后--密文长

  • 加密速度相对要慢

  • 安全性超强---成套的加密解密key不一样

3)作用

  • 数字签名

  • 防止抵赖

  • 签名:实际在数字签名的时候,是需要私有key加密,公有key解密的;


数字签名和数字证书

1)签名

历史中的通信,都是通过书信来传递信息,那么在写信的时候,除了写信件的正文,在信件的最后,需要一个写信人的亲笔签名,这叫标注,这封信是来自于谁的,谁写出的这封信。也可以通过字迹来比那别真伪。如果有人来冒充,可以通过字迹来辨别,那么这个亲笔签名就有很大作用了


现在传输信息是互联网传输信息,那么在传输的过程中,也需要明确指定这个信息是从哪儿传来的,那么就需要明确的签名来指定是谁发的。网络传输是很不安全的,如果直接传输数据,数据信息由可能会被篡改。


加密解密的评论 (共 条)

分享到微博请遵守国家法律