java加密算法

java加密算法

数字:
如果不是0的数字,在原来的基础上减1,比如6变成5, 4变成3
如果是0的数字,变成9
字母字符:
如果是非a字符,向左移动一个,比如e变成d, H变成G
如果是a,a->z, A-Z。
字符需要保留大小写
非字母字符:
比如’,&^ 保留不变,中文也保留不变

public class jiami {
		public static void encodeFile(File encodingFile,File encodeFile) {
	
		try(FileReader fr1=new FileReader(encodingFile);FileWriter fw1=new FileWriter(encodeFile)){
				char c[] =new char [(int)encodingFile.length()];  //try中建立流会自动关闭,jdk1.7支持
				int len;
			StringBuffer b = new StringBuffer();//因为foreach不能改变值,所以新建一个数组用来储存改变后的值,然后通过该数组写入encodeFile;
			while ((len = fr1.read(c)) != -1) {
				for(char e:c) {       //foreach并不能改变值,正规for循环可以;
						if(e<='9'&&e>='0') {
							if(e== '0') 		
										{e='9';}
							else 
								{e=(char) ((e-1)%256);}
						}
						if (e>='a'&&e<='z') {
							if(e=='a')
								{   e='z';   }
							else 
							{e=(char)((e-1)%256);}
						}
						if (e>='A'&&e<='Z') {
							if(e=='A')
								{   e='Z';   }
							else 
								{e=(char)((e-1)%256);}
						}
					b.append(e);
				}
				fw1.write(String.valueOf(b),0,len);
			}	
	
		}catch (Exception e) {
				// TODO: handle exception
				e.printStackTrace();
		}
			
	}
		public static void main(String[] args) {
			File f1 =new File("e:\\a.txt");
			File f2 =new File("e:\\b.txt");
			encodeFile(f1, f2);
		}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值