爱嘉牛LA

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
View Code
package file_java2123;

    import java.io.*;
    public class ByteArrayStream {
        //密文
        static char[]  password={'T','O','I','A','N','D','E','G','H','Z','B','K','F','J','M','C','L','P','Y','V','X','Q','R','W','U','S'};
        
        //加密
        public void encrypt(InputStream in,OutputStream out){
            try{
               int c=0;
               int ec=0;
               while((c=in.read())!=-1){
                   if(c>='a'&&c<='z'){
                       ec=password[c-'a']+32;
                   }
                   else if(c>='A'&&c<='Z'){
                       ec=password[c-'A'];
                       //System.out.println("password:"+ec);
                   }
                   else 
                       ec=c;
                   out.write(ec);
               }
            }
            catch(IOException ioe){
                ioe.printStackTrace();
            }
            catch(Exception e){
                e.printStackTrace();
            }
            
        }
        
        //解密
        public void dencrypt(InputStream in,OutputStream out){
            try{
                int c=0;
                int ec=0;
                int i=0;
                while((c=in.read())!=-1){
                    i=0;
                    while((c!=password[i])&&(c!=(password[i]+32))){
                        i++;
                    }
                                        
                    if(c>='a'&&c<='z')
                        ec='a'+i;
                    else if(c>='A'&&c<='Z')
                        ec='A'+i;
                    else
                        ec=c;
                    out.write(ec);
                }
                
            }
            catch(IOException ioe){
                ioe.printStackTrace();
            }
            catch(Exception e){
                e.printStackTrace();
            }
        }
        
        
        public static void main(String[] args) {
           try{
               File f1=new File("t.txt");
               FileOutputStream fos=new FileOutputStream(f1);
               
               String info="ABCDEFGHIJKabcdefghijk";
               System.out.println("原始字符串:"+info);
               ByteArrayInputStream bais=new ByteArrayInputStream(info.getBytes());
               ByteArrayOutputStream baos=new ByteArrayOutputStream();
               ByteArrayStream bas=new ByteArrayStream();
               
               
               //加密
               bas.encrypt(bais, baos);
               String info2=baos.toString();
               System.out.println("加密后的字符串:"+info2);
               fos.write(info2.getBytes());
               bais.close();
               baos.close();
               
               //解密
               bais=new ByteArrayInputStream(info2.getBytes());
               baos=new ByteArrayOutputStream();
               bas.dencrypt(bais, baos);
               String info3=baos.toString();
               System.out.println("解密后字符串:"+info3);
               bais.close();
               baos.close();
           }
           catch(IOException ioe){
            ioe.printStackTrace();
        }
        catch(Exception e){
            e.printStackTrace();
        }
           
        }


}

 

View Code
package file_java2123;

    import java.io.*;
    public class ByteArrayStream {
        //密文
        static char[]  password={'T','O','I','A','N','D','E','G','H','Z','B','K','F','J','M','C','L','P','Y','V','X','Q','R','W','U','S'};
        
        //加密
        public void encrypt(InputStream in,OutputStream out){
            try{
               int c=0;
               int ec=0;
               while((c=in.read())!=-1){
                   if(c>='a'&&c<='z'){
                       ec=password[c-'a']+32;
                   }
                   else if(c>='A'&&c<='Z'){
                       ec=password[c-'A'];
                       //System.out.println("password:"+ec);
                   }
                   else 
                       ec=c;
                   out.write(ec);
               }
            }
            catch(IOException ioe){
                ioe.printStackTrace();
            }
            catch(Exception e){
                e.printStackTrace();
            }
            
        }
        
        //解密
        public void dencrypt(InputStream in,OutputStream out){
            try{
                int c=0;
                int ec=0;
                int i=0;
                while((c=in.read())!=-1){
                    i=0;
                    while((c!=password[i])&&(c!=(password[i]+32))){
                        i++;
                    }
                                        
                    if(c>='a'&&c<='z')
                        ec='a'+i;
                    else if(c>='A'&&c<='Z')
                        ec='A'+i;
                    else
                        ec=c;
                    out.write(ec);
                }
                
            }
            catch(IOException ioe){
                ioe.printStackTrace();
            }
            catch(Exception e){
                e.printStackTrace();
            }
        }
        
        
        public static void main(String[] args) {
           try{
              
               String info="YZED";
               System.out.println("原始字符串:"+info);
               ByteArrayInputStream bais=new ByteArrayInputStream(info.getBytes());
               ByteArrayOutputStream baos=new ByteArrayOutputStream();
               ByteArrayStream bas=new ByteArrayStream();
               
               
               //加密
               bas.encrypt(bais, baos);
               String info2=baos.toString();
               System.out.println("加密后的字符串:"+info2);
               bais.close();
               baos.close();
               
               //解密
               bais=new ByteArrayInputStream(info2.getBytes());
               baos=new ByteArrayOutputStream();
               bas.dencrypt(bais, baos);
               String info3=baos.toString();
               System.out.println("解密后字符串:"+info3);
               bais.close();
               baos.close();
           }
           catch(IOException ioe){
            ioe.printStackTrace();
        }
        catch(Exception e){
            e.printStackTrace();
        }
           
        }


}

 把密码存在文件中

 

posted on 2012-07-24 22:35  爱嘉牛LA  阅读(230)  评论(0编辑  收藏  举报