21xrx.com
2024-12-22 23:24:11 Sunday
登录
文章检索 我的文章 写文章
作为一名Java程序员
2023-06-17 16:59:18 深夜i     --     --
Java 加密 MD5 SHA Base64

作为一名Java程序员,我经常需要使用各种加密方式来保证程序的安全性。在Java中,常用的加密方式包括MD5、SHA和Base64等。下面我将给大家介绍这三种加密方式并提供相应的代码示例。

MD5是一种广泛使用的单向哈希加密算法,主要用于生成消息摘要和数据完整性验证。在Java中使用MD5加密非常简单,只需要调用相应的MessageDigest类即可。以下是一个示例代码:


import java.security.MessageDigest;

import java.security.NoSuchAlgorithmException;

public class MD5Util {

  public static String md5(String input) {

    try {

      MessageDigest md = MessageDigest.getInstance("MD5");

      byte[] messageDigest = md.digest(input.getBytes());

      return bytesToHex(messageDigest);

    } catch (NoSuchAlgorithmException e) {

      throw new RuntimeException(e);

    }

  }

  private static String bytesToHex(byte[] bytes) {

    StringBuilder builder = new StringBuilder();

    for (byte b : bytes) {

      builder.append(String.format("%02x", b));

    }

    return builder.toString();

  }

}

SHA也是一种单向哈希加密算法,与MD5相似。SHA算法有多个版本,其中SHA-256是比较常用的一个。以下是一个示例代码:


import java.security.MessageDigest;

import java.security.NoSuchAlgorithmException;

public class SHA256Util {

  public static String sha256(String input) {

    try {

      MessageDigest md = MessageDigest.getInstance("SHA-256");

      byte[] messageDigest = md.digest(input.getBytes());

      return bytesToHex(messageDigest);

    } catch (NoSuchAlgorithmException e) {

      throw new RuntimeException(e);

    }

  }

  private static String bytesToHex(byte[] bytes) {

    StringBuilder builder = new StringBuilder();

    for (byte b : bytes) {

      builder.append(String.format("%02x", b));

    }

    return builder.toString();

  }

}

Base64是一种编码方式,可以将任意二进制数据转化为可打印的字符形式。Base64并不是一种加密方式,但在网络传输和文本处理中广泛使用。Java中提供了Base64类用于Base64编解码。以下是一个示例代码:


import java.util.Base64;

public class Base64Util {

  public static String encode(String input) {

    byte[] encodedBytes = Base64.getEncoder().encode(input.getBytes());

    return new String(encodedBytes);

  }

  public static String decode(String input) {

    byte[] decodedBytes = Base64.getDecoder().decode(input.getBytes());

    return new String(decodedBytes);

  }

}

综上所述,MD5、SHA和Base64是Java中常用的加密方式。在实际编程中,我们可以根据具体的需求选择使用相应的加密方式来保证数据的安全性。

标题:Java常用的加密方式

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复