1// Copyright 2024 The Go Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5package rand
6
7import "internal/syscall/unix"
8
9func init() {
10	// arc4random_buf is the recommended application CSPRNG, accepts buffers of
11	// any size, and never returns an error.
12	//
13	// "The subsystem is re-seeded from the kernel random number subsystem on a
14	// regular basis, and also upon fork(2)." - arc4random(3)
15	//
16	// Note that despite its legacy name, it uses a secure CSPRNG (not RC4) in
17	// all supported macOS versions.
18	altGetRandom = func(b []byte) error { unix.ARC4Random(b); return nil }
19}
20