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

📄 notarypublic.java

📁 初期JAVA学习非常有用的资料。帮助深入了解API。特别是Applet。
💻 JAVA
字号:
package bingo.game;import java.security.*;import bingo.shared.*;class NotaryPublic {    private PrivateKey priv = null;    private PublicKey pub = null;    NotaryPublic() {        KeyPair pair = null;        try {            KeyPairGenerator keyGen = KeyPairGenerator.getInstance("DSA");            keyGen.initialize(1024, new SecureRandom());            pair = keyGen.generateKeyPair();        } catch (Exception e) {	    ErrorMessages.error("Cannot sign cards. Continuing anyway.");        }	priv = pair.getPrivate();	pub = pair.getPublic();    }    void signTheCard(Card c, int gameNumber) throws NoSuchAlgorithmException,					            InvalidKeyException,					            SignatureException {        Signature dsa = Signature.getInstance("SHA/DSA");	byte[] values = new byte[Card.SIZE*Card.SIZE+1];        dsa.initSign(priv);        for (int i = 0; i < Card.SIZE; i++)            for (int j = 0; j < Card.SIZE; j ++)		values[Card.SIZE*i + j] = (byte)c.boardValues[i][j].number;	values[values.length-1] = (byte)gameNumber;	dsa.update(values);	c.setSignature(dsa.sign());    }    boolean verifyTheSignature(Card c, int gameNumber) {        try {            Signature dsa = Signature.getInstance("SHA/DSA");	    byte[] values = new byte[Card.SIZE*Card.SIZE+1];            dsa.initVerify(pub);            for (int i = 0; i < Card.SIZE; i ++)                for (int j = 0; j < Card.SIZE; j ++)                    values[Card.SIZE*i + j] = (byte)c.boardValues[i][j].number;	    values[values.length-1] = (byte)gameNumber;	    dsa.update(values);            return dsa.verify(c.getSignature());        } catch (Exception e) {            return false;        }    }}

⌨️ 快捷键说明

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