All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.xwc1125.chain5j.crypto.SecureRandomUtils Maven / Gradle / Ivy

There is a newer version: 4.3.9
Show newest version
package com.xwc1125.chain5j.crypto;

import java.security.SecureRandom;

/**
 * Utility class for working with SecureRandom implementation.
 *
 * 

This is to address issues with SecureRandom on Android. For more information, refer to the * following issue. */ public final class SecureRandomUtils { private static final SecureRandom SECURE_RANDOM; static { if (isAndroidRuntime()) { new LinuxSecureRandom(); } SECURE_RANDOM = new SecureRandom(); } public static SecureRandom secureRandom() { return SECURE_RANDOM; } // Taken from BitcoinJ implementation // https://github.com/bitcoinj/bitcoinj/blob/3cb1f6c6c589f84fe6e1fb56bf26d94cccc85429/core/src/main/java/org/bitcoinj/core/Utils.java#L573 private static int isAndroid = -1; static boolean isAndroidRuntime() { if (isAndroid == -1) { final String runtime = System.getProperty("java.runtime.name"); isAndroid = (runtime != null && runtime.equals("Android Runtime")) ? 1 : 0; } return isAndroid == 1; } private SecureRandomUtils() { } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy