以下是一个简单的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解码,再去掉密钥部分,还原原始字符串。注意,这种加密方式并不是非常安全,只是一个简单的示例,实际应用中需要使用更为安全的加密算法。

用JAVA写一个 任意字符串加密后 长度为10位的 代码 并可以进行解密

原文地址: https://www.cveoy.top/t/topic/bdjL 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录