文件加密和解密
2015-11-23 12:33
162 查看
/*加密方法 * 方法:1)将每一个字符转换为ascII码 * 2)每一个ascII变为原来的2倍并转换为十六进制 * 3)将所有字符串连接为一个字符创 * 4)每隔两个字符插入一个字符串“wn”
* */ public String encry(String str){
//str 为要加密的内容 //定义字符型数组长度为str的长度 char[] ch = new char[str.length()]; //定义变量并初始化 String str2 =""; //循环给数组ch赋值 for(int i = 0;i<(str.length());i++){ ch[i] = str.charAt(i); //将数组ch中的字符装换长int型 int num = ch[i]; //将所有的数据都变为原来的2倍 int numberstr = num*2; // System.out.println(numberstr); System.out.println(str); //将十进制数装换为十六进制数 String str1 = Integer.toHexString(numberstr); //输出十六进制的数据 System.out.println(str1); //将转换后的字符连接成字符串 str2 += str1; // //输出字符串 // System.out.println(str2); //定义插入的字符串 String nstr = "wn"; //插入字符串(每隔两个字符插入一组字符串) str2 += nstr; } //输出字符串 //System.out.println(str2); //返回str2变量的内容 return str2; } /*解密方法 * 方法:1)将字符串中的wn去除 * 2)将字符串拆分成多个字符串,拆分后每两个字符组成一个字符串 * 3)将字符串转化为十进制的数据 * 4)每一个数据除以2 * 5)将数据转换为对应的字符 * 6)将字符连接为字符串 * * */ public String decipher(String str){ String str2 = ""; //将字符串拆分为数组 String[] str3= str.split("wn"); // System.out.println(str3[0]); for(int i = 0;i<str3.length;i++){ //System.out.println(str3[i].toString()); //将十六进制转换为十进制 int num = Integer.parseInt(str3[i], 16); //将数据除以2 ,算出字符的ASCII代码 num = num/2; //将ascII代码转换为字符 char ch = (char)num; System.out.println(ch); //将字符连接成字符串 str2+=ch; } //放回字符串 return str2; }
相关文章推荐
- java 反射异常和 找不action的解决方案
- 雪
- BZOJ 3612: [Heoi2014]平衡( dp )
- ubuntu无法修改ROOT密码的问题解决
- ubuntu无法修改ROOT密码的问题解决
- 被误解的MVC和被神化的MVVM
- C 字符串浅拷贝和深拷贝 学习笔记
- Archlinux On Raspberrypi B+
- navicat备份复制mysql数据库
- Make 命令教程
- mysql 数据备份 crontab
- ubuntu启动时登陆出现循环登陆解决办法
- android ImageLoader 缓存下载显示网络图片
- Codeforces Beta Round #51 D. Beautiful numbers 数位dp
- 关于重写getter的方法和setter方法
- Java中的数组
- NSThread多线程
- Bootstrap历练实例:表单控件状态(禁用的字段集fieldset)
- centos7 安装配置apache httpd服务
- 架构师之路