资源简介
JavaDES通过秘钥加密解密Demo
代码片段和文件信息
package com.cxq.tools;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
import java.util.Properties;
import java.util.Random;
public class DataServiceDecrypt extends Properties {
private static final long serialVersionUID = 1L;
private ListEnumerationAdapterject> keyList = new ListEnumerationAdapterject>();
public DataServiceDecrypt() {
}
/**
* 从指定路径加载信息到Properties
*
* @param path
*/
public DataServiceDecrypt(String path) {
try {
InputStream is = new FileInputStream(path);
this.load(is);
} catch (FileNotFoundException e) {
e.printStackTrace();
throw new RuntimeException(“指定文件不存在!“);
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 重写put方法,按照property的存入顺序保存key到keyList,遇到重复的后者将覆盖前者。
*/
@Override
public synchronized object put(object key object value) {
if (keyList.contains(key)) {
keyList.remove(key);
}
keyList.add(key);
return super.put(key value);
}
/**
* 获取Properties中key的有序集合
* @return
*/
public Listject> getKeyList() {
return keyList;
}
/**
* 保存Properties到指定文件,并指定对应存放编码
* @param path
* 指定路径
* @param charset
* 文件编码
*/
public void store(String path) {
if (path != null && !““.equals(path)) {
try {
OutputStream os = new FileOutputStream(path);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os));
this.store(bw null);
bw.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
} else {
throw new RuntimeException(“存储路径不能为空!“);
}
}
/**
* 重写keys方法
*/
@Override
public synchronized Enumerationject> keys() {
keyList.reset();
return keyList;
}
/**
* ArrayList到Enumeration的适配器
*/
private static class ListEnumerationAdapter extends ArrayList
implements
Enumeration {
private static final long serialVersionUID = 1L;
private int index = 0;
public boolean hasMoreElements() {
return index < this.size();
}
public T nextElement() {
if (this.hasMoreElements()) {
return this.get(index++);
}
return null;
}
/**
* 重置index的值为0,使得Enumeration可以继续从头开始遍历
*/
public void reset() {
this.index = 0;
}
}
private static char movePosition(char cSrc int nLen) {
int nSrc = 0;
if (cSrc >= ‘ ‘ && cSrc <= ‘:‘)
nSrc = cSrc - 32;
if
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5516 2017-04-19 11:33 DataServiceDecryptjiemi.java
文件 6286 2017-04-19 11:36 DataServiceEncryptjiami.java
----------- --------- ---------- ----- ----
11802 2
相关资源
- Java斑马打印机zebraZPL完整Demo
- 微信网页登入授权Demo
- spring boot+websocket前后端简单demo
- Android使用socket的demo
- Unity微信支付demo
- jfreechart-1.0.19-demo-src
- 头像的选择截取、上传和Demo
- BLE4.0Demo
- 注册邮箱激活验证Demo
- Java 串口rxtxdemo包含发送、接收、以及
- 讯飞人脸识别demo
- android studio 编译aidl以及demo
- android室内定位demo
- 回音噪音处理Demo.apk
- Java反射demo
- Java+MySql数据库 模拟ATM自助存取款b
- DownDemo.zip
- java实现邮箱推送消息(JavaMail)的D
- Android自定义键盘之中文键盘demo
- android json的demo
- RetrofitDemo
- [测试通过]JAVA调用第三方DLL的简单方
- 基于mapreduce的pagerank实现DEMO地址
- Netty-SocketIo Demo Chat
- jQuery-UI和jsPlumb实现拖拽连接模型dem
- android串口demo
- 基于java的uploadify上传demo
- Android 阿里百川Demo源码
- JAVA调用Webservice接口Demo
- 个人免签约支付Demo
评论
共有 条评论