Java实现一个简单的加密解密方法

时间:2021-12-31 07:12:44

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

使用方法:

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

解密方法 Enande.decrypt(ciphertext, pass);

content,pass均为String类型 content为明文,pass为加密口令,ciphertext为密文

(对代码公开,对密码保密)

/**
 * 时间:2007-11-14
 * yster@foxmail.com
 */
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));
    }
}