Java语言写的一个简单的加密解密方法

出处

使用方法:

  • 加密方法 String cipherte=Enande.encrypt(content, pass);
  • 解密方法 Enande.decrypt(ciphertext, pass);

content,pass均为String类型;

content为明文,pass为加密口令,

ciphertext为密文

/**
 * 时间:2007-11-14 
 * [email protected]
 */
public class Enande {
    /**
     * @param sourceString
     * @param password
     * @return 密文
     */
    public static String encrypt(String sourceString, String password) {
        char[] p = password.toCharArray(); // 字符串转字符数组
        int n = p.length; // 密码长度
        char[] c = sourceString.toCharArray();
        int m = c.length; // 字符串长度
        for (int k = 0; k < m; k++) {
            int mima = c[k] + p[k / n]; // 加密
            c[k] = (char) mima;
        }
        return new String(c);
    }

    /**
     *
     * @param sourceString
     * @param password
     * @return 明文
     */
    public static String decrypt(String sourceString, String password) {
        char[] p = password.toCharArray(); // 字符串转字符数组
        int n = p.length; // 密码长度
        char[] c = sourceString.toCharArray();
        int m = c.length; // 字符串长度
        for (int k = 0; k < m; k++) {
            int mima = c[k] - p[k / n]; // 解密
            c[k] = (char) mima;
        }
        return new String(c);
    }

    /*
     * 使用例子
     */
    public static void main(String arg[]) {
        String wen = "这是一段明文";
        String pass = "123456789";
        System.out.println(encrypt(wen, pass));
        System.out.println(decrypt(encrypt(wen, pass), pass));
    }
}

说明:

  • 密钥可以自定义
  • 加密出来的是乱码,需要我们用Base64再加密一下,解密的时候,先用Base64 解密; 

猜你喜欢

转载自blog.csdn.net/qq_35956194/article/details/85119607