⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gensig.java

📁 一个用JAVA程序做成产品密钥的程序
💻 JAVA
字号:
package javasecurity;
import java.io.*;
import java.security.*;
class GenSig
{
	public static void main(String[] args)
	{
		if (args.length != 1)
		{
			System.out.println("Usage: GenSig nameOfFileToSign");
		}
		else
		{
			try
			{
				/* 生成一对密钥 */
				KeyPairGenerator keyGen =
					KeyPairGenerator.getInstance("DSA", "SUN");
				SecureRandom random =
					SecureRandom.getInstance("SHA1PRNG", "SUN");
				keyGen.initialize(1024, random);
				KeyPair pair = keyGen.generateKeyPair();
				PrivateKey priv = pair.getPrivate();
				PublicKey pub = pair.getPublic();
				/* 建立一个证书并用私有密钥初始化 */
				Signature dsa = 
Signature.getInstance("SHA1withDSA", "SUN");
				dsa.initSign(priv);
				/* 更新并对数据进行签署 */
				FileInputStream fis = new FileInputStream(args[0]);
				BufferedInputStream bufin = new BufferedInputStream(fis);
				byte[] buffer = new byte[1024];
				int len;
				while (bufin.available() != 0)
				{
					len = bufin.read(buffer);
					dsa.update(buffer, 0, len);
				};
				bufin.close();
				byte[] realSig = dsa.sign();
				/* 将证书文件存储到文件中 */
				FileOutputStream sigfos = new FileOutputStream("sig");
				sigfos.write(realSig);
				sigfos.close();
				/* 将公共密钥存储到文件中 */
				byte[] key = pub.getEncoded();
				FileOutputStream keyfos = new FileOutputStream("suepk");
				keyfos.write(key);
				keyfos.close();
			}
			catch (Exception e)
			{
				System.err.println("Caught exception " + e.toString());
			}
		}
	};
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -