• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package org.bouncycastle.crypto;
2 
3 import java.security.SecureRandom;
4 
5 /**
6  * The base class for symmetric, or secret, cipher key generators.
7  */
8 public class CipherKeyGenerator
9 {
10     protected SecureRandom  random;
11     protected int           strength;
12 
13     /**
14      * initialise the key generator.
15      *
16      * @param param the parameters to be used for key generation
17      */
init( KeyGenerationParameters param)18     public void init(
19         KeyGenerationParameters param)
20     {
21         this.random = param.getRandom();
22         this.strength = (param.getStrength() + 7) / 8;
23     }
24 
25     /**
26      * generate a secret key.
27      *
28      * @return a byte array containing the key value.
29      */
generateKey()30     public byte[] generateKey()
31     {
32         byte[]  key = new byte[strength];
33 
34         random.nextBytes(key);
35 
36         return key;
37     }
38 }
39