當前位置:名人名言大全網 - 祝福短信 - 如何在Java中實現電子簽名

如何在Java中實現電子簽名

進口?Java . security . invalidkeyexception;

進口?Java . security . key;

進口?Java . security . key pair;

進口?Java . security . key pair generator;

進口?Java . security . nosuchalgorithm exception;

進口?Java . security . private key;

進口?Java . security . public key;

進口?Java . security . securerandom;

進口?Java . security . signature;

進口?Java . security . signature exception;

進口?Java . util . logging . level;

進口?Java . util . logging . logger;

/**

*?ECDSA?160bit?簽名和簽名驗證示例

*/

公共?班級?ECDSASignature?{

公共?靜電?作廢?main(字符串?argv[])?{

signatureTest();

}

公共?靜電?作廢?signatureTest()?{

/**

*?密鑰對生成

*/

KeyPairGenerator?keyPairGenerator?=?null

試試?{

keyPairGenerator?=?keypairgenerator . getinstance(" EC ");

}?接住?(NoSuchAlgorithmException?ex)?{

返回;

}

SecureRandom?secureRandom?=?新的?SecureRandom();

keypairgenerator . initialize(160,securer andom);

KeyPair?配對?=?keypairgenerator . generatekeypair();

鑰匙?公鑰?=?pair . get public();

鑰匙?privateKey?=?pair . get private();

//?字符串

字符串?hako?=?”測試”;

/**

*?私鑰簽名(ECDSA?160位)

*/

byte[]?簽字?=?null

試試?{

簽名?簽名辭職?=?null

簽名辭職?=?signature . getinstance(" NONEwithECDSA ");

signature . init sign((private key)?privateKey?securer andom);

signature . update(hako . getbytes());

簽字?=?signature . sign();

System.out.println("sign:"?+?新的?字符串(符號));

}?接住?(InvalidKeyException?|?NoSuchAlgorithmException?|?SignatureException?ex)?{

logger . get logger(ECD SAS signature . class . getname())。日誌(級別。嚴重嗎?null,?ex);

}

/**

*?用公鑰進行簽名驗證

*/

簽名?signatureVerify?=?null

試試?{

signatureVerify?=?signature . getinstance(" NONEwithECDSA ");

signatureverify . init verify((public key)?public key);

signatureverify . update(hako . getbytes());

布爾?verifyResult?=?signatureVerify.verify(簽名);

系統。out.println(驗證結果“簽名OK”?:?“簽名NG”);

}?接住?(NoSuchAlgorithmException?|?InvalidKeyException?|?SignatureException?e)?{

logger . get logger(ECD SAS signature . class . getname())。日誌(級別。嚴重嗎?null,?e);

}

}

}/Java-% E7 % 94% B5 % E5 % AD % 90% E7 % AD % BE % E5 % 90% 8D % E8 % 8C % 83% E4 % BE % 8B % E4 % BB % A3 % E7 % A0 % 81/