常见加密算法及其例子

开发中经常要用到加解密,熟悉它很有好处。

文章目录

    • 单向散列哈希算法
      • md5
        • DigestUtils(spring)实现md5
    • 对称加密算法
      • base64
        • BASE64(jdk自带)实现base64
    • 非对称加密算法(又称:公开密钥加密算法)
    • 对称加密和非对称加密的结合

单向散列哈希算法

MD5、SHA(128、256)系列

描述 单向不可逆
场景 用户密码的加密

md5

摘要算法

DigestUtils(spring)实现md5

//md5 单向加密
String password="芝麻开门";
String digest = DigestUtils.md5DigestAsHex(password.getBytes()); // digest是摘要算法,这里只生成的字符串
System.out.println(digest);

对称加密算法

DES、3DES、AES、Blowfish、IDEA、RC5、RC6

base64

描述 双向可逆加密
场景 邮件中的信息

BASE64(jdk自带)实现base64

// jdk自带的BASE64 加解密工具
String password="芝麻开门";
BASE64Encoder base64Encoder = new BASE64Encoder();
String encode = base64Encoder.encode(password.getBytes());  // 加密
System.out.println("加密为字符串:  " + encode);
BASE64Decoder decoder = new BASE64Decoder();
try {
    String decode = new String ( decoder.decodeBuffer(encode)); // 解密
    System.out.println("解密为:  " + decode);
} catch (IOException e) {
    e.printStackTrace();
}

非对称加密算法(又称:公开密钥加密算法)

RSA

对称加密和非对称加密的结合

你可能感兴趣的:(java)