JAVA加密和解密技术

原理:

我们知道,所有的数据都是通过二进制来传输的,加密也就是将原有的二进制流数据顺序打乱或者是插入另外的二进制数据,使得读取后的字符是不规则的乱码,而解密就是通过加密的原理还原已有数据的过程.

我在这里做的是颠倒次序的加密方法,原理很简单,就拿3619来说我们可以把他转换成任意的次序(6319,1639......),如果我要把他转换成1936,只需要用100来分别对它取余和模,然后:模数*100+余数就可以了。我们以字节来读取数据,然后将字节的位数值颠倒输出,这样我们最后得到的结果就是个加密了的文件.这里要用到IO流,基本原理如下:

FileInputStream fins=new FileInputStream(f_1);
         FileOutputStream fouts=new FileOutputStream(f_2);
         int in_data=0;
         while(in_data!=-1){
          in_data=fins.read();
          int hight=in_data/16;
          int lower=in_data%16;
          int out_data=lower*16+hight;
          fouts.write(out_data);         
          }
          fins.close();
          fouts.close();

解密也就是还原回来以前的次序.附件里面提供了一个方法,大家可以参考下.

你可能感兴趣的:(java,F#)