Java加解密学习笔记

java加解密

密码常用术语

  • 明文:待加密信息
  • 密文:经过加密后的明文
  • 加密:明文转为密文的过程
  • 加密算法:明文转为密文的转换算法
  • 加密密钥:通过加密算法进行加密操作用的密钥
  • 解密:将密文转为明文的过程
  • 解密算法:将密文转为明文的算法
  • 密码协议:也称安全协议,指以密码学为基础的消息交换的通信协议
  • 科克霍夫原则:数据的安全基于密钥而不是算法的保密

密码分类

名称 别名 详细说明
对称密码 单钥密码或私钥密码 指加密密钥与解密密钥相同
非对称密码 双钥密码或公钥密码 加密密钥与解密密钥不同,密钥分公钥私钥

散列函数

验证数据的完整性

特点

  • 长度不受限制
  • 哈希值容易计算
  • 运算结果不可逆

相关算法

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

数字签名

主要针对以数字的形式存储的消息进行的处理

相关java包、类

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

第三方扩展

  • Bouncy Castle
  • Commons Codec
    • Apache
    • Base64、二进制、十六进制、字符编码集
    • Url编码解码

Base64算法

应用场景:e-mail、密钥证书文件

对称加密算法

  • DES(Data Encryption Standard)数据加密标准
  • 3DES 效率低
  • AES 至今未被破解

AES通常用于移动通信系统以及基于SSH协议的软件

你可能感兴趣的:(Java加解密学习笔记)