в моем примере кода я генерирую случайный байтовый массив, который я должен использовать как соль с моим полем пароля.
Проблема возникает, когда в моем байтовом массиве есть символ NUL. Я нашел способ удалить этот символ, используя строки, но из соображений безопасности я хотел бы использовать массив, а не строку, чтобы удалить эти значения.
Ниже приведены фрагменты моего решения. В этом примере я удаляю события NUL, но могу быть хорошим выбором для их замены. Как я могу заменить его? Спасибо.
private static byte[] generateSalt() throws UnsupportedEncodingException, NoSuchAlgorithmException{
final Random RANDOM = new SecureRandom();
byte[] salt = new byte[12];
RANDOM.nextBytes(salt);
String str = new String(salt, StandardCharsets.UTF_8);
str.replaceAll("\u0000", "");
salt = str.getBytes("UTF-8");
return salt;
}