1/*
2 *  Licensed to the Apache Software Foundation (ASF) under one or more
3 *  contributor license agreements.  See the NOTICE file distributed with
4 *  this work for additional information regarding copyright ownership.
5 *  The ASF licenses this file to You under the Apache License, Version 2.0
6 *  (the "License"); you may not use this file except in compliance with
7 *  the License.  You may obtain a copy of the License at
8 *
9 *     http://www.apache.org/licenses/LICENSE-2.0
10 *
11 *  Unless required by applicable law or agreed to in writing, software
12 *  distributed under the License is distributed on an "AS IS" BASIS,
13 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 *  See the License for the specific language governing permissions and
15 *  limitations under the License.
16 */
17/**
18 * @author Boris V. Kuznetsov
19 */
20
21package org.apache.harmony.security.tests.support;
22
23import java.security.SecureRandomSpi;
24
25/**
26 * Test implementation of SecureRandom
27 */
28public class RandomImpl extends SecureRandomSpi {
29
30    public static boolean runEngineGenerateSeed = false;
31    public static boolean runEngineNextBytes = false;
32    public static boolean runEngineSetSeed = false;
33
34    protected void engineSetSeed(byte[] seed) {
35        runEngineSetSeed = true;
36    }
37
38    protected void engineNextBytes(byte[] bytes) {
39        runEngineNextBytes = true;
40        for (int i = 0; i < bytes.length; i++) {
41            bytes[i] = (byte) (i + 0xF1);
42        }
43    }
44
45    protected byte[] engineGenerateSeed(int numBytes) {
46        runEngineGenerateSeed = true;
47        byte[] b = new byte[numBytes];
48        for (int i = 0; i < b.length; i++) {
49            b[i] = (byte) i;
50        }
51        return b;
52    }
53
54}
55
56