用JAVA写一个 任意字符串加密后 长度为10位的 代码 并可以进行解密
以下是一个简单的Java代码示例,可以将任意字符串加密为10位长度的密文,并且可以通过解密算法还原原始字符串。
import java.util.Base64;
public class StringEncryption {
private static final String KEY = "my_secret_key"; // 密钥,可以自定义
public static String encrypt(String input) {
try {
// 加密算法
byte[] bytes = (input + KEY).getBytes("UTF-8");
byte[] encrypted = Base64.getEncoder().encode(bytes);
// 只取前10位作为密文
return new String(encrypted, 0, 10, "UTF-8");
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
public static String decrypt(String input) {
try {
// 解密算法
byte[] bytes = Base64.getDecoder().decode(input);
String decrypted = new String(bytes, "UTF-8");
// 去掉密钥部分,还原原始字符串
return decrypted.substring(0, decrypted.length() - KEY.length());
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
public static void main(String[] args) {
String input = "Hello, world!";
String encrypted = encrypt(input);
System.out.println("Encrypted: " + encrypted);
String decrypted = decrypt(encrypted);
System.out.println("Decrypted: " + decrypted);
}
}
该代码使用了Base64编码作为加密算法,加上一个自定义的密钥进行加密,然后只取前10位作为密文。解密算法则是先进行Base64解码,再去掉密钥部分,还原原始字符串。注意,这种加密方式并不是非常安全,只是一个简单的示例,实际应用中需要使用更为安全的加密算法。
原文地址: https://www.cveoy.top/t/topic/bdjL 著作权归作者所有。请勿转载和采集!