java安全与密码概述

主要分为三部分:

  • 密码学基础,包括:相关术语;分类;常用安全体系。
  • java的安全组成;jdk以及第三方扩展。
  • 相关实现代码,包括:base64、MD5········

密码学基础

相关术语

  • 明文:待加密的信息
  • 密文:加密后的明文
  • 加密:明文转密文
  • 加密算法:明文转密文的算法
  • 加密密钥:加密算法进行加密操作的密钥
  • 解密:密文转为明文
  • 解密算法:密文转成明文的算法
  • 解密密钥:解密算法进行解密操作的密钥
  • 密码分析:截取密文,通过分析推出明文或密钥
  • 密码体系:明文空间、密文空间、密钥空间、加密算法、解密算法
  • 密码协议:安全协议,以密码学为基础的信息交换通信协议
  • 密码系统:加密,解密的系统
  • 柯克霍夫原则:数据的安全集与密钥而不是算法,对密钥保密,对算法公开,现代密码学设计的基本原则

分类

按时间分类:

  • 古典密码:以字符为基本加密单元
  • 现代密码:以信息块为基本加密单元

按保密内容分类:

  • 受限制算法:保密性基于算法的保密
  • 集与密钥算法:保密性基于对密钥的保密

明文处理方法分类:

  • 分组密码:用同一密钥和算法加密固定长度的组
  • 流密码:也称序列密码,每次加密一位或者一个字节

密码体系

  • 对称密码:加密解密密钥相同
  • 非对称密码:密钥分公钥和私钥,加密解密密钥不相同
  • 对称密码算法:应用于对称密码的加密,解密算法
  • 非对称密码算法:应用于非对称密码的加密,解密算法

散列函数

用于验证数据的完整性,特点是:

  • 长度不受限制
  • 哈希值容易计算
  • 散列原酸过程不可逆

有这些特性,发展处很多有关散列函数相关的算法,如:

  • 消息摘要算法MD5
  • SHA:安全散列算法
  • MAC:消息认证码算法

安全体系

常用的安全体系有两种:OSI安全体系和TCP/IP安全体系,这儿就不过多讲解,放两张安全体系图大致了解下即可。

java安全体系

组成

  • JCA(Java Cryptography Architecture)
  • JCE(Java Cryptography Extension)
  • JSSE(Java Secure Socket Extension)
  • JAAS(Java Authentication and Authentication Service)

相关包和类

  • java.security:消息摘要
  • java.crypto:安全消息摘要,消息认证鉴别码
  • java.net.ssl:安全套接字

第三方扩展

  • Bouncy Castle:支持两种方式使用,一是在jdk中配置,再者就是调用addprovider
  • Commons Codec:是apache开源项目,支持BASE64,URL编码解码

最新文章

  1. iOS 之各种Crash
  2. SimpleDateFomat里面的parse方法的使用
  3. 数组循环:循环多个li 每个li 固定N条数据
  4. C++实现反射机制
  5. MVC3中使用AuthorizeAttribute特性来完成登陆权限的验证
  6. 《Linear Algebra and Its Applications》-chaper4-向量空间-子空间、零空间、列空间
  7. vs2013 JS代码提示
  8. Error updating database. Cause: java.sql.BatchUpdateException: Field 'id' doesn't have a default value
  9. kubernetes实践之运行aspnetcore webapi微服务
  10. 单源最短路径Dijkstra和优先级算法
  11. 基础总结(01)--css清除浮动几种方法
  12. mac电脑复制键失灵
  13. 【转载】app测试的过程和重点关注内容
  14. [20180822]session_cached_cursors与子游标堆0.txt
  15. 027_磁盘维护命令du等
  16. 阿里云 centos7 django + uWSGI+Nginx + python3 部署攻略
  17. FastReport动态绑定只显示一条数据。
  18. python--django-admin定制页面流程:
  19. WPF转换器:时间转换为字符串
  20. 【BZOJ4036】按位或(Min-Max容斥,FWT)

热门文章

  1. [转]sublime 使用技巧总结
  2. Python 发送邮件包含附件报表示例
  3. Android问题-打开DelphiXE8与DelphiXE10新建一个空工程提示"out of memory"
  4. (转)UML常用图的几种关系的总结
  5. hdu 2063 过山车(匈牙利算法模板)
  6. SQL语句执行时所发生的步骤
  7. 转载 JQuery.data()方法学习
  8. HDU4570----Multi-bit Trie----简单的DP
  9. UVaLive 7374 Racing Gems (DP,LIS)
  10. 关于block以及__bridge的一些笔记