21xrx.com
2024-11-05 21:55:43 Tuesday
登录
文章检索 我的文章 写文章
在我的编程学习过程中
2023-06-16 11:59:28 深夜i     --     --

在我的编程学习过程中,我掌握了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算法,并且提供了相应的代码示例。掌握这些加密算法可以帮助开发者保护敏感信息的安全,提高应用程序的安全性。

  
  

评论区

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