Java Random Byte Array getRandomByteArray(int len)

Here you can find the source of getRandomByteArray(int len)

Description

get Random Byte Array

License

Apache License

Declaration

public static byte[] getRandomByteArray(int len) 

Method Source Code

//package com.java2s;
/*//w w  w  .  ja v  a2  s .c  o m
 * Copyright (C) 2015 S.Violet
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * Project GitHub: https://github.com/shepherdviolet/turquoise
 * Email: shepherdviolet@163.com
 */

import java.util.Random;

public class Main {
    public static byte[] getRandomByteArray(int len) {
        if (len < 0 || len > 256) {
            throw new IllegalArgumentException("Illegal length: " + len);
        }

        byte[] bytes = new byte[256];
        for (int i = 0; i < 256; i++) {
            bytes[i] = (byte) i;
        }

        Random rand = new Random();
        byte[] randBytes = new byte[len];
        int size = 256;
        while (--len >= 0) {
            int index = rand.nextInt(size);
            randBytes[len] = bytes[index];
            bytes[index] = bytes[--size];
        }

        return randBytes;
    }
}

Related

  1. generateRandomBytes(int n)
  2. generateRandomBytes(int num)
  3. generateRandomBytes(int num_to_generate)
  4. generateRandomBytes(int num_to_generate)
  5. generateRandomBytes(int size)
  6. getRandomBytes()
  7. getRandomBytes(int size)
  8. getRandomBytes(int size)
  9. nextBytes(byte[] bytes)