Source File
rand.go
Belonging Package
github.com/pion/ice/v4
// SPDX-FileCopyrightText: 2023 The Pion community <https://pion.ly>// SPDX-License-Identifier: MITpackage iceimportconst (runesAlpha = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"runesDigit = "0123456789"runesCandidateIDFoundation = runesAlpha + runesDigit + "+/"lenUFrag = 16lenPwd = 32)// Seeding random generator each time limits number of generated sequence to 31-bits,// and causes collision on low time accuracy environments.// Use global random generator seeded by crypto grade random.var (globalMathRandomGenerator = randutil.NewMathRandomGenerator() //nolint:gochecknoglobalsglobalCandidateIDGenerator = candidateIDGenerator{globalMathRandomGenerator} //nolint:gochecknoglobals)// candidateIDGenerator is a random candidate ID generator.// Candidate ID is used in SDP and always shared to the other peer.// It doesn't require cryptographic random.type candidateIDGenerator struct {randutil.MathRandomGenerator}func newCandidateIDGenerator() *candidateIDGenerator {return &candidateIDGenerator{randutil.NewMathRandomGenerator(),}}func ( *candidateIDGenerator) () string {// https://tools.ietf.org/html/rfc5245#section-15.1// candidate-id = "candidate" ":" foundation// foundation = 1*32ice-char// ice-char = ALPHA / DIGIT / "+" / "/"return "candidate:" + .MathRandomGenerator.GenerateString(32, runesCandidateIDFoundation)}// generatePwd generates ICE pwd.// This internally uses generateCryptoRandomString.func generatePwd() (string, error) {return randutil.GenerateCryptoRandomString(lenPwd, runesAlpha)}// generateUFrag generates ICE user fragment.// This internally uses generateCryptoRandomString.func generateUFrag() (string, error) {return randutil.GenerateCryptoRandomString(lenUFrag, runesAlpha)}
![]() |
The pages are generated with Golds v0.8.2. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |