密码学综述
-
密码的基本功能
- 机密性
- 鉴别
- 报文完整性
- 不可否认性
基本模型
算法分类
- 消息编码:Base64
- 消息摘要:MD、SHA、MAC
- 对称密码:DES、3DES、AES
- 非对称密码:RSA、DH密钥交换
- 数字签名:RSASignature、DSASignature
密码学五元组
- 明文、密文、加密算法、解密算法、密钥。加解密算法不是密码安全性的关键,关键在于密钥。密钥不等于密码。说白了密钥就是口令 。而密码 = 密钥 + 规则
对称密码(传统密码)与非堆成密码(公钥密码)
- 对称密码:加解密使用相同的密钥密码体制
- 非对称密码:加解密使用不同的密钥——公钥与私钥
JAVA编程中常用加密算法类
-
消息编码
- BASE64Encoder、BASE64Decorder
-
消息摘要
- MessageDigest
-
对称密码
- KeyGenerator、SecretKey、Cipher
-
非对称密码
- KeyPairGenerator、KeyFactory、KeyPair、PublicKey、PrivateKey、Cipher
-
数字签名
- Signature
Base64 在Java编程中的使用。
sun.misc.** JAR包。或者是Apache 提供的commons coderc JAR。简单直接的使用.
new Base64**Encoder[Decorder]