<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Vincent.Chan‘s Blog

    常用鏈接

    統計

    積分與排名

    網站

    最新評論

    自己實現的一個加密算法

    /*

     * Encrypt 字符串加密
     *
     * @author shiwei 2004-8-28
     */

    package com.snoics.base.util;
    /**
     * Encrypt 字符串加密
     * @author shiwei
     *
     */
    public class Encrypt {

        public Encrypt() {

        }

        /**
         * 加密字符串
         * @param encryptstring
         * @return String
         */
        public static String encrypt(String encryptstring){
         String newstring="";
         if(encryptstring.length()<1){
          return encryptstring;
         }else{
          String tempstring=StringClass.remove(encryptstring,0,(int)(encryptstring.length()/3));
          tempstring=StringClass.getConvertString(tempstring);
          encryptstring=StringClass.getConvertString(encryptstring);
          newstring=encrypt(encryptstring,tempstring);
          return newstring;
         }
        }
       
        /**
         * 普通加密字符串
         *
         * @param encryptstring1
         * @param encryptstring2
         * @return String
         */
        public static String encrypt(String encryptstring1, String encryptstring2) {
            int strcount = 0; //字符串ASCII碼的總和
            int newpasswordlength = 0; //生成的密碼長度
            int seed1 = 0; //種子
            int seed2 = 0;
            String str = "";
            String newpassword = ""; //生成的密碼
            char newchar;
            int newcharint = 0;
            int thechar = 0;

            str = encryptstring2 + encryptstring1;

            if (str.length() > 0) {
                for (int i = 0; i < str.length(); i++) {
                    strcount = strcount + str.charAt(i);
                }

                newpasswordlength = (strcount * strcount) / str.length() + str.length();

                int temp = 0;
                int temp2 = 0;
                while ((newpasswordlength <= 0) || (newpasswordlength > 100)) {
                    temp = temp + str.length();
                    temp2 = temp + temp2;
                    newpasswordlength = 100;
                }

                for (int i = 0; i < encryptstring1.length(); i++) {
                    seed1 = seed1 + encryptstring1.charAt(i);
                }
                for (int i = 0; i < encryptstring2.length(); i++) {
                    seed2 = seed2 + encryptstring2.charAt(i);
                }

                for (int i = 0; i < newpasswordlength; i++) {

                    if (i < str.length()) {
                        thechar = str.charAt(i);
                    } else {
                        thechar = str.charAt(i % (str.length() - 1))
                                + str.charAt((str.length() - 1)
                                        - (i % str.length()));
                    }
                    newcharint = thechar * (seed1 * (i + 1) + thechar);
                    newcharint = newString(newcharint);
                    newcharint = thechar * (seed2 * (i + 1) + thechar);
                    newcharint = newString(newcharint);
                    newchar = (char) newcharint;
                    newpassword = newpassword + String.valueOf(newchar);
                }
                newpassword = newpassword.substring((encryptstring2.length() + encryptstring1.length()) % 100);
                return (newpassword);
            } else {
                return ("空字符串不能被加密");
            }
        }

        private static int newString(int charint) {
            while ((charint > 127) || (charint < 32)) {
                while (charint > 127) {
                    charint = (charint - charint/2+1) / 2;
                    while(charint==60||charint==62||charint==34||charint==32||charint==39){
                     charint = charint + 1;
                    }
                }
                while (charint < 32) {
                    charint = (charint + charint/2-1) * 2;
                    while(charint==60||charint==62||charint==34||charint==32||charint==39){
                     charint = charint + 1;
                    }
                }
            }
            return (charint);
        }

        public static void main(String[] args) {
            String theusername = "1abc1";
            String thepassword = "1def1";
            String theusername1 = "1def1";
            String thepassword1 = "1abc1";
            String newstring=Encrypt.encrypt(theusername,thepassword);
            System.out.println("newstring="+newstring);
            String newstringa=Encrypt.encrypt(theusername1,thepassword1);
            System.out.println("newstringa="+newstringa);
            String newstring2=Encrypt.encrypt(newstring);
            System.out.println("newstring2="+newstring2);
            String newstring3=Encrypt.encrypt(newstring2);
            System.out.println("newstring3="+newstring3);
        }

    }


    執行結果:

    newstring=*?C4%;V[GKOoUX[_#i%ptvy)!!#01&c(46*o;=?y{?AB#4HI7%7LM:==U?@?AXBZFGHH`IJKfgO4QlmR7qrt::wxz=
    newstringa=(=A4$;TYDHLmTW[_#d#kpvx*!#-/$a(56)m89;vy@AB!2DE4$7LN::;P==?AYBXCDEE^IJKceL3NikR6opq89uvw;
    newstring2=ij887i)54)?!@A!!!Ab##eBf##ddd#efff#b#cadc#bc_!!]@
    newstring3=(qI}!+A!#z%%4?((

    posted on 2006-02-20 12:29 Vincent.Chen 閱讀(199) 評論(0)  編輯  收藏 所屬分類: Java

    主站蜘蛛池模板: 亚洲精品无码AV中文字幕电影网站| 国产h肉在线视频免费观看| 永久黄网站色视频免费观看| 亚洲电影免费观看| 99精品视频在线观看免费播放| 国产亚洲精品久久久久秋霞| 亚洲国产免费综合| 亚洲一区二区三区在线观看精品中文 | 亚洲精品国产综合久久久久紧| 国产人成免费视频网站| 亚洲国产精品综合一区在线| 亚洲一区免费在线观看| 在线综合亚洲欧洲综合网站| 午夜小视频免费观看| 亚洲爆乳无码专区www| 国产zzjjzzjj视频全免费 | 99视频在线看观免费| 亚洲精品综合久久中文字幕| 男女超爽刺激视频免费播放 | 久久精品亚洲一区二区| 四虎影视成人永久免费观看视频 | 亚洲爆乳少妇无码激情| 免费一级e一片在线播放| 一区二区视频免费观看| 亚洲av日韩av激情亚洲| 男女免费观看在线爽爽爽视频| 亚洲精品第一国产综合亚AV| 亚洲国产精品第一区二区三区| 国色精品va在线观看免费视频 | a级毛片黄免费a级毛片| 亚洲第一二三四区| 暖暖日本免费在线视频 | 亚洲成人免费网站| 国产精品成人无码免费| 久久国产乱子精品免费女| 亚洲精品国产福利在线观看| 免费一级毛片清高播放| 久久久免费的精品| 久久精品国产亚洲AV| 亚洲日本va午夜中文字幕一区| 午夜宅男在线永久免费观看网|