21xrx.com
2025-04-03 00:44:29 Thursday
文章检索 我的文章 写文章
在我的编程学习过程中
2023-06-16 11:59:28 深夜i     7     0

在我的编程学习过程中,我掌握了Java中的常用加密方式。本文将介绍三个主要的加密算法,包括MD5、SHA和Base64,并附带相应的代码案例。

MD5是一种单向加密函数,即不可逆加密算法。它将任意长度的信息压缩为一个128位的摘要,并且相同的数据得到的MD5值总是相同的。下面是Java中使用MD5的代码:

import java.math.BigInteger;
import java.security.MessageDigest;
public class MD5Example {
 public static void main(String[] args) throws Exception {
  String inputString = "Hello, world!";
  MessageDigest md = MessageDigest.getInstance("MD5");
  md.update(inputString.getBytes());
  byte[] digest = md.digest();
  BigInteger bigInt = new BigInteger(1, digest);
  String hexString = bigInt.toString(16);
  System.out.println("MD5 Hash: " + hexString);
 }
}

SHA是Secure Hash Algorithm的缩写,它是一种与MD5类似的哈希函数。SHA算法提供了更强的安全性和更好的性能。下面是Java中使用SHA-256的代码:

import java.security.MessageDigest;
public class SHAExample {
 public static void main(String[] args) throws Exception {
  String inputString = "Hello, world!";
  MessageDigest md = MessageDigest.getInstance("SHA-256");
  md.update(inputString.getBytes());
  byte[] digest = md.digest();
  StringBuffer hexString = new StringBuffer();
  for (int i = 0;i
   hexString.append(Integer.toHexString(0xFF & digest[i]));
  }
  System.out.println("SHA-256 Hash: " + hexString.toString());
 }
}

Base64是一种基于64个字符的编码方式,它可以将任意类型的数据转换为纯文本格式。Base64编码后的数据可以方便地在网络上传输和存储。下面是Java中使用Base64的代码:

import java.util.Base64;
public class Base64Example {
 public static void main(String[] args) {
  String inputString = "Hello, world!";
  String encodedString = Base64.getEncoder().encodeToString(inputString.getBytes());
  System.out.println("Encoded String: " + encodedString);
  byte[] decodedBytes = Base64.getDecoder().decode(encodedString.getBytes());
  String decodedString = new String(decodedBytes);
  System.out.println("Decoded String: " + decodedString);
 }
}

在本文中,我介绍了Java中三种常用的加密方式,包括MD5、SHA和Base64算法,并且提供了相应的代码示例。掌握这些加密算法可以帮助开发者保护敏感信息的安全,提高应用程序的安全性。

  
  

评论区

请求出错了