Ich möchte 64-Bit-Zufallszahl mit dem sicheren crypto/rand
-Paket generieren. Ich fand das online:Random 64-Bit-Ganzzahl aus Krypto/Rand
package main
import (
"crypto/rand"
"encoding/base64"
)
// GenerateRandomBytes returns securely generated random bytes.
// It will return an error if the system's secure random
// number generator fails to function correctly, in which
// case the caller should not continue.
func GenerateRandomBytes(n int) ([]byte, error) {
b := make([]byte, n)
_, err := rand.Read(b)
// Note that err == nil only if we read len(b) bytes.
if err != nil {
return nil, err
}
return b, nil
}
Aber es scheint stattdessen zufällige Bytes zu generieren. Ich möchte einen zufälligen 64-Bit Int. Nämlich, ich möchte etwas wie var i uint64 = rand()
. Irgendwelche Ideen, wie man das erreicht?
Sie können nicht herausfinden, wie 8 zufällige Bytes in eine zufällige 64-Bit-Ganzzahl konvertiert werden? –
Mögliches Duplikat von [Wie generierst du ein zufälliges uint64 in Go?] (Https://stackoverflow.com/questions/39756133/how-do-you-generate-a-random-uint64-in-go/39756320#39756320) – icza
Kein Duplikat, @icza. Er möchte kryptographische Zufälligkeit verwenden. –