程序功能
程序的功能是对用户输入的字符串,使用常见的三种加密算法(MD5、SHA-1 和 SHA-256)进行加密,并输出每种算法加密后的结果。
主要步骤包括:
用户通过控制台输入一个字符串。
程序使用 MessageDigest 类,对输入的字符串分别进行 MD5、SHA-1 和 SHA-256 算法的加密处理。
每种加密算法的输出结果以 16 进制的形式显示,便于阅读和理解加密后的数据。
通过这个程序,用户可以了解不同加密算法对同一字符串的加密效果。
代码
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Scanner;
public class StringEncryptor {
// 对输入字符串进行加密
public static String encrypt(String input, String algorithm) throws NoSuchAlgorithmException {
MessageDigest md = MessageDigest.getInstance(algorithm);
byte[] digest = md.digest(input.getBytes());
StringBuilder sb = new StringBuilder();
for (byte b : digest) {
sb.append(String.format("%02x", b));
}
return sb.toString();
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要加密的字符串:");
String input = scanner.nextLine();
try {
// 使用 MD5 加密
String md5Encrypted = encrypt(input, "MD5");
System.out.println("MD5 加密结果: " + md5Encrypted);
// 使用 SHA-1 加密
String sha1Encrypted = encrypt(input, "SHA-1");
System.out.println("SHA-1 加密结果: " + sha1Encrypted);
// 使用 SHA-256 加密
String sha256Encrypted = encrypt(input, "SHA-256");
System.out.println("SHA-256 加密结果: " + sha256Encrypted);
} catch (NoSuchAlgorithmException e) {
System.out.println("加密算法不存在: " + e.getMessage());
}
}
}
标签:加密,String,System,SHA,input,字符串,java
From: https://blog.csdn.net/C7211BA/article/details/142169424