Java加密与解密的艺术 读后心得体会

  现在项目中加密与解密的方式很多,很早就想整理一下Java中加密与解密的方式,读完<<Java加密与解密的艺术>>一书.借此机会梳理一下这方面的知识点

一.基础普及

  安全技术目标

  安全技术目标主要包含以下五个方面:

    1,保密性(Confidentiality)

      保密性也被称作机密性.保密性确保数据仅能被合法的用户访问,即数据不能被未授权的第三方使用

    2.完整性(Integruty)

      完整性主要确保数据只能由授权方或以授权的方式进行修改,即数据在传输过程中不能被未授权方修改

    3.可用性(Availability)

      可用性主要确保所有数据仅在适当的时候可以由授权方访问

    4.可靠性(Reliability)

      可靠性主要确保雄能在规定条件下,规定时间内,完成规定的功能时具有稳定的概率

    5.抗否认性(Non-Repudiation)

      抗否认性也称作抗抵赖性,主要确保发送方与接收方在执行各自操作后,对所做的操作不可否认

  除此之外,计算机网络信息系统的其他安全技术还包括:

  可控性,可审查性,认证,访问控制等

  OSI七层模型:OSI参考模型是由国际化标准组织制定的  开放式通信系统 互联网参考模型(Open System Interconnection Reference Model)

  物理层-数据链路层-网咯层-传输层-会话层-表示层-应用层

  TCP/IP四层协议

  网络接口层-网络层-传输层-应用层

  

  霍克霍夫原则:

    公开算法而不公开密钥

二.常用的加密算法的说明

  1.BASE64-电子邮件传输算法

    注意:Base64算法主要用于解决电子邮件传输问题,早期的邮件传输只支持ASCII码字符,如果非ASCII码字符传输可能就会出现乱码,这就是BASE64算法的由来

    BASE简介:

      BASE64是基于64个有效字符对数据进行编码,BASE64算法并不是一个加密算法,只能算是加密算法的一个分支

    URLBASE64算法的由来:

      为了能在http的get请求中传递2进制数据,因此有了URLBASE64算法,将+和/进行了替换,

  2.消息摘要算法-验证信息的完整性

    

    消息摘要算法又称为散列算法,其核心在于散列函数的单向性,即通过散列函数可以获得对应的散列值,但不可以通过该散列值反推出其原始信息,这是消息摘要算法的的安全性的根本所在

    消息摘要算法主要包含:MD(消息摘要算法),SHA(安全散列算法),HMAC(消息认证码算法)共三大系列,常用语验证数据的完整性,是数字签名的的核心算法

    MD算法:

      包含MD2 MD4 MD5

    SHAs算法

      包含SHA1 SHA124 SHA256等等

  3.对称加密算法

    AES,DES

  4.非对称加密算法

    RSA.DSA

  

  

猜你喜欢

转载自www.cnblogs.com/gabriel-y/p/11837384.html