verifybyaddtionalkey.java

来自「利用椭圆算法对数据进行签名认证的代码,需要下载bcprov-jdk16-137.」· Java 代码 · 共 69 行

JAVA
69
字号
import java.io.FileInputStream;

import org.bouncycastle.crypto.digests.SHA1Digest;
import org.bouncycastle.crypto.params.ECDomainParameters;
import org.bouncycastle.crypto.params.ECPublicKeyParameters;
import org.bouncycastle.jce.ECNamedCurveTable;
import org.bouncycastle.jce.spec.ECNamedCurveParameterSpec;
import org.bouncycastle.math.ec.ECPoint;

/*
 * Created on 2008-3-24
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */

/**
 * @author HP
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
public class VerifyByAddtionalKey {

	public static void main(String[] args) {
		String plaint="王珂,this is my test";
		SHA1Digest  sha1=new SHA1Digest();
		sha1.update(plaint.getBytes(),0,plaint.getBytes().length);
		byte[] digest=new byte[sha1.getDigestSize()];
		sha1.doFinal(digest,0);
		ECNamedCurveParameterSpec para=ECNamedCurveTable.getParameterSpec("prime256v1");
		ECDomainParameters doman=new ECDomainParameters(para.getCurve(),para.getG(),para.getN(),para.getH());
      //  ECPoint point=new ECPoint();
		byte[] content=readFile("public.dat");
		//PrivateKey key=new PrivateKey();
		//KeyFactory ecfa=KeyFactory.getInstance("RSA");
		//ECDSAKeyFactory fact=ECDSAKeyFactory.getInstance("ECDSA");
		try{
			
		ECPoint point=doman.getCurve().decodePoint(content);
		ECPublicKeyParameters pubkey=new ECPublicKeyParameters(point,doman);
		
		
		}
		catch(Exception es)
		{
			System.out.println(es.getMessage());
		}
		
	}
	public static byte[] readFile(String filename)
	{
		try
		{
			FileInputStream fin=new FileInputStream(filename);
			int filelen=fin.available();
			byte[] content=new byte[filelen];
			fin.read(content);
			fin.close();
			return content;
		}
		catch(Exception es)
		{
			System.out.println(es.getMessage());
			return null;
		}
	}
}

⌨️ 快捷键说明

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