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

📄 dsakeypairgenerator.java

📁 kmlnjlkj nlkjlkjkljl okopokipoipo oipipipo i
💻 JAVA
字号:
package org.bouncycastle.crypto.generators;import org.bouncycastle.crypto.AsymmetricCipherKeyPair;import org.bouncycastle.crypto.AsymmetricCipherKeyPairGenerator;import org.bouncycastle.crypto.KeyGenerationParameters;import org.bouncycastle.crypto.params.DSAKeyGenerationParameters;import org.bouncycastle.crypto.params.DSAParameters;import org.bouncycastle.crypto.params.DSAPrivateKeyParameters;import org.bouncycastle.crypto.params.DSAPublicKeyParameters;import java.math.BigInteger;import java.security.SecureRandom;/** * a DSA key pair generator. * * This generates DSA keys in line with the method described  * in FIPS 186-2. */public class DSAKeyPairGenerator    implements AsymmetricCipherKeyPairGenerator{    private static final BigInteger ZERO = BigInteger.valueOf(0);    private DSAKeyGenerationParameters param;    public void init(        KeyGenerationParameters param)    {        this.param = (DSAKeyGenerationParameters)param;    }    public AsymmetricCipherKeyPair generateKeyPair()    {        BigInteger      p, q, g, x, y;        DSAParameters   dsaParams = param.getParameters();        SecureRandom    random = param.getRandom();        q = dsaParams.getQ();        p = dsaParams.getP();        g = dsaParams.getG();        do        {            x = new BigInteger(160, random);        }        while (x.equals(ZERO)  || x.compareTo(q) >= 0);        //        // calculate the public key.        //        y = g.modPow(x, p);        return new AsymmetricCipherKeyPair(                new DSAPublicKeyParameters(y, dsaParams),                new DSAPrivateKeyParameters(x, dsaParams));    }}

⌨️ 快捷键说明

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