📄 mkeygenerator.java
字号:
package net.jumperz.app.httptunnel;
import java.io.*;
import java.security.*;
import javax.crypto.*;
import javax.crypto.spec.*;
import net.jumperz.security.MCryptInfo;
import net.jumperz.util.*;
public final class MKeyGenerator
implements MCryptInfo
{
private static SecretKeySpec key;
private static File keyFile;
private static String keyFileName;
//----------------------------------------------------------------------------------------
public static void main( String[] args )
throws Exception
{
if( args.length == 1 )
{
keyFileName = args[ 0 ];
generateKey();
}
else
{
System.out.println( "Usage: java net.jumperz.app.httptunnel.MKeyGenerator KEY_FILE_NAME" );
return;
}
}
//----------------------------------------------------------------------------------------------
public static final void generateKey()
throws Exception
{
keyFile = new File( keyFileName );
if( keyFile.exists() )
{
System.out.println( "File already exists. Overwrite? ( Y/N )" );
BufferedReader reader = new BufferedReader( new InputStreamReader( System.in, MCharset.CS_ISO_8859_1 ) );
String line = reader.readLine();
if( line.equalsIgnoreCase( "Y" )
|| line.equalsIgnoreCase( "YES" )
)
{
//proceed
}
else
{
return;
}
}
//generate key
System.out.println( "Generating a new key..." );
SecureRandom secureRandom = new SecureRandom();
byte[] rawKey = new byte[ KEYSIZE ];
secureRandom.nextBytes( rawKey );
key = new SecretKeySpec( rawKey, ALG );
//Save to file
FileOutputStream ofstream = new FileOutputStream( keyFile );
ObjectOutputStream oostream = new ObjectOutputStream( ofstream );
oostream.writeObject( key );
oostream.close();
System.out.println( "New key is saved as : " + keyFile.getAbsolutePath() + "." );
}
//----------------------------------------------------------------------------------------
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -