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

📄 desedekeygenerator.java

📁 kmlnjlkj nlkjlkjkljl okopokipoipo oipipipo i
💻 JAVA
字号:
package org.bouncycastle.crypto.generators;import org.bouncycastle.crypto.KeyGenerationParameters;import org.bouncycastle.crypto.params.DESedeParameters;public class DESedeKeyGenerator    extends DESKeyGenerator{    /**     * initialise the key generator - if strength is set to zero     * the key generated will be 192 bits in size, otherwise     * strength can be 128 or 192 (or 112 or 168 if you don't count     * parity bits), depending on whether you wish to do 2-key or 3-key     * triple DES.     *     * @param param the parameters to be used for key generation     */    public void init(        KeyGenerationParameters param)    {        this.random = param.getRandom();        this.strength = (param.getStrength() + 7) / 8;        if (strength == 0 || strength == (168 / 8))        {            strength = DESedeParameters.DES_EDE_KEY_LENGTH;        }        else if (strength == (112 / 8))        {            strength = 2 * DESedeParameters.DES_KEY_LENGTH;        }        else if (strength != DESedeParameters.DES_EDE_KEY_LENGTH                && strength != (2 * DESedeParameters.DES_KEY_LENGTH))        {            throw new IllegalArgumentException("DESede key must be "                + (DESedeParameters.DES_EDE_KEY_LENGTH * 8) + " or "                + (2 * 8 * DESedeParameters.DES_KEY_LENGTH)                + " bits long.");        }    }    public byte[] generateKey()    {        byte[]  newKey = new byte[strength];        do        {            random.nextBytes(newKey);            DESedeParameters.setOddParity(newKey);        }        while (DESedeParameters.isWeakKey(newKey, 0, newKey.length));        return newKey;    }}

⌨️ 快捷键说明

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