利用Java API对字符串进行加密解密(DES加密算法)
/*Decryptor*/
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;
/**
* Decrypt the password get form Xpress GUI
*/
public class Decryptor{
//加密
private static byte[] encrypt(int mode, byte[] password) {
try {
DESKeySpec desKeySpec = new DESKeySpec("KEY".getBytes());
SecretKeyFactory secretKeyFactory = SecretKeyFactory.getInstance("DES");
SecretKey secretKey = secretKeyFactory.generateSecret(desKeySpec);
Cipher cipher = Cipher.getInstance("DES");
cipher.init(mode, secretKey);
return cipher.doFinal(password);
} catch (Exception e) {
return password;
}
}
//解密
public static String decrypt(String[] args) {
int length = args.length;
byte[] b = new byte[length];
for(int i = 0; i < length; i++){
b[i] = new Byte(args[i]);
}
return new String(encrypt(Cipher.DECRYPT_MODE, b));
}
}
相关文档:
/**
* 找出四位数所有的吸血鬼数字
* 吸血鬼数字:位数为偶数的数字可以由一对数字相乘而得,这对数字包含乘积一半的位数
* 如:1260 = 21*60
*/
public class Vampire {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String s= ......
import java.util.*;
public class ForeachExample {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Random r = new Random();
int[] x = new int[10];
for (int i = 0; i < x.length; i++) {
x[i] = r.nextInt(100);
}
/ ......
接口中不可以定义构造方法
接口中只能有 public static final 的变量 和 public abstract 的方法,其它都不可以。
例如:
代码里是这样写的
public interface B{
StringBuilder sb=null;
void fun();
& ......
JAVA可以通过JNI接口访问本地的动态连接库,从而扩展JAVA的功能。使用JAVA JNI接口主要包括以下步骤:
(1)编写JAVA代码,注明要访问的本地动态连接库和本地方法;
(2)编译JAVA代码得到.class文件;
(3)使用javah -jni 生成该类对应的C语言.h文件;
(4)使用C/C++实现(3)生成的.h文件中声明的各函数;
(5)编译C/ ......
1.了解Java的原理:
首先要了解整个Java的大致结构、工作环境、历史。在这个过程中要搞明白Java从源代码到最后虚拟机里面执行的一个过程是怎样的。
2.学习Java语法:
Java里面只有50多个关键字和一些运算符。语法结构就只有顺序、条件、循环 ......