import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
-import java.security.SecureRandom;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import org.openhab.core.net.HttpServiceUtil;
import org.openhab.core.types.Command;
import org.openhab.core.types.TypeParser;
+import org.openhab.core.util.StringUtils;
import org.openhab.io.openhabcloud.NotificationAction;
import org.osgi.framework.BundleContext;
import org.osgi.framework.Constants;
private static final int DEFAULT_LOCAL_OPENHAB_MAX_CONCURRENT_REQUESTS = 200;
private static final int DEFAULT_LOCAL_OPENHAB_REQUEST_TIMEOUT = 30000;
private static final String HTTPCLIENT_NAME = "openhabcloud";
- private static final String CHARS = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
- private static final SecureRandom SR = new SecureRandom();
private final Logger logger = LoggerFactory.getLogger(CloudService.class);
}
}
- private String randomString(int length) {
- StringBuilder sb = new StringBuilder(length);
- for (int i = 0; i < length; i++) {
- sb.append(CHARS.charAt(SR.nextInt(CHARS.length())));
- }
- return sb.toString();
- }
-
/**
* Creates a random secret and writes it to the <code>userdata/openhabcloud</code>
* directory. An existing <code>secret</code> file won't be overwritten.
String newSecretString = "";
if (!file.exists()) {
- newSecretString = randomString(20);
+ newSecretString = StringUtils.getRandomAlphanumeric(20);
logger.debug("New secret = {}", censored(newSecretString));
writeFile(file, newSecretString);
} else {