加密架构 JCA
架构
加密服务提供者
Sun、 SunJSSE、 SunJCE、 SunRsaSign
Bouncy Castle
加密引擎
MessageDigest
Signature
Cipher
SecureRandom
Message Authentication Codes (MAC)
KeyFactory
SecretKeyFactory
KeyPairGenerator
KeyGenerator
KeyAgreement
DH
AlgorithmParameters
AlgorithmParameterGenerator
KeyStore
CertificateFactory
CertPathBuilder
CertPathValidator
CertStore
算法
SHA1WITHRSA
SHA256WITHRSA
...
java.sercutiry.*
高级类
Provider
不指定提供者时的提供程序的搜寻机制
按注册优先级,按顺序查找
安装提供者程序
安装在classpath路径中
安装在标准扩展目录:jre/lib/ext
注册提供者程序
静态注册
jre/lib/security/java.security 文件
动态注册
Security.addProvider(Provider);
Security.insertProviderAt(Provider,position);
Security
管理提供程序
查询,添加,删除提供程序
安全属性设置
SecureRandom
强随机数
MessageDigest
MD算法
MD5
SHA算法:安全哈希算法(Secure Hash Algorithm)
SHA1
SHA256
MAC算法
HmacMD5
Signature
DSA
RSAwithMD5
签名/验证
Cipher
加密解密
块加密
数据加密前需要填充字节满足输入块长度,解密后剥离
填充类型
PKCS5PADDING
流加密
处理任意长度数据,无需填充
Mac
KeyAgreement
Diffie-Hellman
密钥生成器
KeyGenerator
KeyPairGenerator
密钥管理
KeyStore
读取PKCS12 和 JKS 格式的密钥库信息
加密架构 JCA
架构
加密服务提供者
Sun、 SunJSSE、 S