org.bouncycastle.crypto.CipherKeyGenerator.java Source code

Java tutorial

Introduction

Here is the source code for org.bouncycastle.crypto.CipherKeyGenerator.java

Source

package org.bouncycastle.crypto;

import java.security.SecureRandom;

/**
 * The base class for symmetric, or secret, cipher key generators.
 */
public class CipherKeyGenerator {
    protected SecureRandom random;
    protected int strength;

    /**
     * initialise the key generator.
     *
     * @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;
    }

    /**
     * generate a secret key.
     *
     * @return a byte array containing the key value.
     */
    public byte[] generateKey() {
        byte[] key = new byte[strength];

        random.nextBytes(key);

        return key;
    }
}