Является ли хорошей идеей генерировать безопасную случайную шестнадцатеричную строку до тех пор, пока процесс не завершится успешно?
Все примеры, с которыми я сталкивался, показывают, что если rand.Read
возвращает ошибку, мы должны паниковать, os.Exit (1) или верните пустую строку и ошибку.
Мне нужно, чтобы моя программа продолжала функционировать в случае таких ошибок и подождать, пока не будет сгенерирована случайная строка.Это хорошая идея, чтобы зацикливаться, пока строка не будет сгенерирована, какие-либо подводные камни с этим?
import "crypto/rand"
func RandomHex() string {
var buf [16]byte
for {
_, err := rand.Read(buf[:])
if err == nil {
break
}
}
return hex.EncodeToString(buf[:])
}