📄 encryptclasses.java
字号:
import java.security.SecureRandom;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;
import javax.crypto.Cipher;
public class EncryptClasses {
static public void main(String args[]) throws Exception {
//读取密钥
DealFile df = new DealFile();
df.connFIS(args[0]);
byte rawKeyData[] = df.readByte();
df.closeFIS();
//读取加密的类
df.connFIS(args[1]);
byte data[] = df.readByte();
df.closeFIS();
//DES算法要求有一个可信任的随机数源
SecureRandom sr = new SecureRandom();
//从原始密匙数据创建DESKeySpec对象
DESKeySpec dks = new DESKeySpec( rawKeyData );
//创建一个密匙工厂,然后用它把DESKeySpec转换成一个SecretKey对象
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance( "DES" );
SecretKey key = keyFactory.generateSecret( dks );
//Cipher对象实际完成加密操作
Cipher cipher = Cipher.getInstance( "DES" );
//用密匙初始化Cipher对象
cipher.init( Cipher.ENCRYPT_MODE, key, sr );
//正式执行加密操作
byte encryptedData[] = cipher.doFinal( data );
//重写加密后的类
df.connFOS(args[1]);
df.writeByte(encryptedData);
df.closeFOS();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -