Я работал с классом Java SecureRandom, чтобы генерировать соли для последующего шифрования и хеширования паролей (я генерирую отдельные соли для каждой задачи). Код, который я использовал, выглядит следующим образом:
//Init random number generator
secureRandom = SecureRandom.getInstance("SHA1PRNG");
secureRandom.setSeed(System.nanoTime());
//Create salts
secureRandom.nextBytes(bytAuthSalt);
secureRandom.nextBytes(bytEncryptionSalt);
Теперь все шло хорошо, пока я не начал на самом деле проверять полученные значения. Для нескольких последовательных исполнений заявки мои соли были:
[B@43d55dd8
[B@43d55b58
[B@43d55b50
[B@43bd0cc8
[B@43db0b08
[B@43bd0f50
Меня беспокоит тот факт, что все числа кажутся примерно последовательными. После некоторого поиска в Интернете я повторил прогоны, не запуская его до тех же результатов.
Мое единственное предположение относительно того, что может быть причиной этого, связано с тем фактом, что я занимаюсь разработкой для платформы Android. Я знаю, что у них есть свои криптографические провайдеры, но я не получаю никаких исключений. есть идеи?
Заранее спасибо.