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

📄 camellia.java

📁 kmlnjlkj nlkjlkjkljl okopokipoipo oipipipo i
💻 JAVA
字号:
package org.bouncycastle.jce.provider.symmetric;import org.bouncycastle.crypto.CipherKeyGenerator;import org.bouncycastle.crypto.engines.CamelliaEngine;import org.bouncycastle.crypto.engines.CamelliaWrapEngine;import org.bouncycastle.crypto.engines.RFC3211WrapEngine;import org.bouncycastle.crypto.modes.CBCBlockCipher;import org.bouncycastle.jce.provider.JCEBlockCipher;import org.bouncycastle.jce.provider.JCEKeyGenerator;import org.bouncycastle.jce.provider.JDKAlgorithmParameterGenerator;import org.bouncycastle.jce.provider.JDKAlgorithmParameters;import org.bouncycastle.jce.provider.WrapCipherSpi;import javax.crypto.spec.IvParameterSpec;import java.security.AlgorithmParameters;import java.security.InvalidAlgorithmParameterException;import java.security.SecureRandom;import java.security.spec.AlgorithmParameterSpec;public final class Camellia{    private Camellia()    {    }        public static class ECB        extends JCEBlockCipher    {        public ECB()        {            super(new CamelliaEngine());        }    }    public static class CBC       extends JCEBlockCipher    {        public CBC()        {            super(new CBCBlockCipher(new CamelliaEngine()), 128);        }    }    public static class Wrap        extends WrapCipherSpi    {        public Wrap()        {            super(new CamelliaWrapEngine());        }    }    public static class RFC3211Wrap        extends WrapCipherSpi    {        public RFC3211Wrap()        {            super(new RFC3211WrapEngine(new CamelliaEngine()), 16);        }    }    public static class KeyGen        extends JCEKeyGenerator    {        public KeyGen()        {            this(256);        }        public KeyGen(int keySize)        {            super("Camellia", keySize, new CipherKeyGenerator());        }    }    public static class KeyGen128        extends KeyGen    {        public KeyGen128()        {            super(128);        }    }    public static class KeyGen192        extends KeyGen    {        public KeyGen192()        {            super(192);        }    }    public static class KeyGen256        extends KeyGen    {        public KeyGen256()        {            super(256);        }    }    public static class AlgParamGen        extends JDKAlgorithmParameterGenerator    {        protected void engineInit(            AlgorithmParameterSpec genParamSpec,            SecureRandom random)            throws InvalidAlgorithmParameterException        {            throw new InvalidAlgorithmParameterException("No supported AlgorithmParameterSpec for Camellia parameter generation.");        }        protected AlgorithmParameters engineGenerateParameters()        {            byte[] iv = new byte[16];            if (random == null)            {                random = new SecureRandom();            }            random.nextBytes(iv);            AlgorithmParameters params;            try            {                params = AlgorithmParameters.getInstance("Camellia", "BC");                params.init(new IvParameterSpec(iv));            }            catch (Exception e)            {                throw new RuntimeException(e.getMessage());            }            return params;        }    }    public static class AlgParams        extends JDKAlgorithmParameters.IVAlgorithmParameters    {        protected String engineToString()        {            return "Camellia IV";        }    }}

⌨️ 快捷键说明

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