Encrypt-加密-解密


在命名空间System.Security.Cryprography里

1、MD5 不可逆加密

作用:

  1. 用作数据库密码,防止看到明文(原密码+固定字符串,然后在MD5/双MD5)
  2. 防篡改
  3. 急速妙传(案例,百度云 ,第一次上传文件,保存md5摘要,第二次上传先计算md5值,在做比对,如果有就不用在上传了。)
  4. 文件下载(防篡改,官方发布的时候给一个md5摘要,安装的时候首先检查下摘要)
  5. svn、TFS、git、VSS(本地保存文件的md5摘要,任何修改都会影响md5)
  6. 防抵赖(A发了一篇文章到网站上,网站将该文章的md5给了A。那么凡是相同md5的文章都是A发表的。)

注意:

md5加密时要区别字节的保存编码的类型(UTF8等)

2、Des 对称可逆加密

  • 除了DES是对称可逆加密还有AES、Blowfish
  • 解释:可逆代表即可以加密又可以解密,对称是说加密和解密用的是同一个密钥。
  • 加密速度快
  • 密钥的安全是问题。

用处:

  1. 用作数据传输

3、 RSA 非对称可逆加密

  • 非对称代表,有一个加密钥和一个解密钥。
  • 概念:公钥是公开的密钥,密钥与之相反
    加密钥和解密钥都可以用来做公钥,产生的效果也不同。

4、 数字证书 SSL

证书颁发机构英文简称为CA,负责签发、作废和保存证书,CA签发的证书称为CA证书,CA证书的本质是利用SSL/TLS协议保护传输数据的安全,因此又称为SSL证书。

5、 CA机构的证书

在访问http的网站时,会提示此网站不安全,其实就是该网站没有申请CA证书(有CA证书的http就变成了https了)。

原理:

百度公司要申请CA证书:

  1. 百度将 组织信息、网站信息 发送给CA机构
  2. CA机构用md5加密证书的明文信息(md5加密是为了防篡改),再用私钥加密MD5加密后的值,等到的就是该证书的数字签名(Certificate Signature)
  3. CA证书包含以下信息: a - e为明文信息
    a. 持有者姓名(Common Name)
    b. 发证机关(Issuer)
    c. 有效日期(Validity)
    d. 证书持有人的公钥(Subject ‘ s Public Key)
    e. 扩展信息(Extension)
    f. 证书的数字签名(Certificate Signature)
  4. 百度公司将得到的证书安装到服务器。
  5. 客户端会内置CA权威机构的证书,客户端在请求服务器时,服务器会第一时间返回证书信息,客服端用公钥(这个公钥不是证书里的公钥,而是内置的CA证书里的公钥)去解密数字签名得到Md5加密值。在比对服务器发来的证书的md5值。相同则通过验证。
  6. 需要注意的是,你的证书不能被别人知道。

https单边认证

单边认证,证明了服务器是服务器。

  1. Client的第一次请求会等到一个证书,验证证书得到公钥(加密密钥)。
  2. Client用公钥加密一个1234(随机值)发给Server,Server解密回复1234(证明我是证书对应的Server)。
  3. Client、Server决定用12345(随机值)作为对称密钥加密传输(对称密钥速度快)
  4. 开始信息传输,全部用12345加密

双边认证

双边认证,即证明了服务器是服务器,又证明了客户端是客户端

  1. Client的第一次请求会等到一个证书,验证证书得到公钥(加密密钥)。
  2. Client用公钥加密一个1234(随机值)发给Server,Server解密回复1234(证明我是证书对应的Server)。
  3. Client会将自己的证书发给Server,验证证书得到公钥(加密密钥)。Client证书来自USB Key、身份证等等
  4. Server用公钥加密一个1234(随机值)发给Client,Client解密回复1234(证明我是证书对应的Client)。
  5. Client、Server在决定用 “任意值” 作为key ,进行加密。
  6. 数据传输。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

菩提树下敲代码

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

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

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

打赏作者

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

抵扣说明:

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

余额充值