ZipFile
ZipInputStream
ZipOutputStream
ZipInputStream
ZipOutputStream
解决方案 »
- java swing 能不能帮忙写下查找功能 。。。
- 求助解决错误问题!!
- eclipse中怎样过滤掉所用的warning?
- 高手请教查询问题
- java有没有配置文件?
- 本人初学java,求高手,高分送上
- 用jb不会调试程序,如何调试程序,朋友们帮忙呀
- 怎样让程序知道自己所执行的程序名或类名?
- jbuilder7里如何在project pane里显示出某个project的所有的类的结构图,就如显示source java files的结构图一样
- 请教 applet的archieve问题
- 请问JTable怎样删除某一行的数据?送分!
- 谁有JAVA坚果系列的电子书呀?最好是中文的,给偶一份吧,谢谢了,100分不行,再给。。
private static Random random = new Random();
public static void main(String[] args){
String s = "只要不是加密前的字符就可以了,能够还原。加密和还原的速度要很快。关键是要快";
System.out.println(s+'\n');
byte[] key = getRandomKey(5);
byte[] s1 = encrypt(key,s.getBytes());
System.out.println(new String(s1)+'\n');
byte[] s2 = decrypt(key,s1);
System.out.println(new String(s2)+'\n');
}
public static byte[] getRandomKey(int length) {
if(length <= 0){
throw new IllegalArgumentException();
}
int rand, index=0;
byte[] result = new byte[length];
for(int i=0; i<(length/5); i++){
rand = random.nextInt();
for(int j=0; j<5; j++) {
result[index++] = (byte)(rand&63);
rand >>= 6;
}
}
rand = random.nextInt();
for(int i=0; i<(length%5); i++) {
result[index++] = (byte)(rand&63);
rand >>= 6;
}
return result;
}
public static byte[] encrypt(byte[] key, byte[] b) {
if(key==null || b==null){
throw new IllegalArgumentException();
}
int index = 0;
byte[] result = (byte[])b.clone();
for(int i=0; i<(b.length/key.length); i++){
for(int j=0; j<key.length; j++){
result[index++] += key[j];
}
}
for(int i=0; i<(b.length%key.length); i++){
result[index++] += key[i];
}
return result;
}
public static byte[] decrypt(byte[] key, byte[] b) {
if(key==null || b==null){
throw new IllegalArgumentException();
}
int index = 0;
byte[] result = (byte[])b.clone();
for(int i=0; i<(b.length/key.length); i++){
for(int j=0; j<key.length; j++){
result[index++] -= key[j];
}
}
for(int i=0; i<(b.length%key.length); i++){
result[index++] -= key[i];
}
return result;
}
}
否则,你可以去看看jive上的有个加密、解密的算法。