?? encryptclasses.java
字號:
package com.tmri.sourcesafe;
// EncryptClasses.java
import java.security.*;
import javax.crypto.*;
import javax.crypto.spec.*;
public class EncryptClasses
{
static public void main( String args[] ) throws Exception {
EncryptClasses test=new EncryptClasses();
String _args[]={"key.data","App.class","Foo.class","Bar.class"};
test.test(_args);
}
public void test(String args[])throws Exception
{
String keyFilename = args[0];
String algorithm = "DES";
// 生成密匙
SecureRandom sr = new SecureRandom();
byte rawKey[] = Util.readFile( keyFilename );
DESKeySpec dks = new DESKeySpec( rawKey );
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance( algorithm );
SecretKey key = keyFactory.generateSecret( dks );
// 創建用于實際加密操作的Cipher對象
Cipher ecipher = Cipher.getInstance( algorithm );
ecipher.init( Cipher.ENCRYPT_MODE, key, sr );
// 加密命令行中指定的每一個類
for (int i=1; i<args.length; ++i) {
String filename = args[i];
// 讀入類文件
byte classData[] = Util.readFile( filename );
// 加密
byte encryptedClassData[] = ecipher.doFinal( classData );
// 保存加密后的內容
Util.writeFile( filename, encryptedClassData );
System.out.println( "Encrypted "+filename );
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -