zoukankan      html  css  js  c++  java
  • Java实现一个简单的加密解密方法

    【本文版权归微信公众号"代码艺术"(ID:onblog)所有,若是转载请务必保留本段原创声明,违者必究。若是文章有不足之处,欢迎关注微信公众号私信与我进行交流!】

    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));
        }
    }
    

    版权声明

    【本文版权归微信公众号"代码艺术"(ID:onblog)所有,若是转载请务必保留本段原创声明,违者必究。若是文章有不足之处,欢迎关注微信公众号私信与我进行交流!】

  • 相关阅读:
    线程,委托和同步的技术理顺
    .Net RabbitMQ 初探
    Java学习,使用IDEA中碰见的问题(一)
    log4net 小记
    MVC 根据模板动态生成静态页面
    IIS 的负载均衡【IIS7.0以上才可以使用】---- Application Request Routing(ARR)
    asp.net forms 表单验证 实现跨域共享cookie(即SSO,单点登录(在二级域名下))
    SQL Server 的文件组和文件
    Base64 编码原理
    swfupload 大文件 批量上传
  • 原文地址:https://www.cnblogs.com/onblog/p/13043400.html
Copyright © 2011-2022 走看看