Standard library

go1.26.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 7, 2026 License: BSD-3-Clause

Directories

Path Synopsis
archive
tar
Package tar implements access to tar archives.
Package tar implements access to tar archives.
zip
Package zip provides support for reading and writing ZIP archives.
Package zip provides support for reading and writing ZIP archives.
Package bufio implements buffered I/O. It wraps an io.Reader or io.Writer object, creating another object (Reader or Writer) that also implements the interface but provides buffering and some help for textual I/O.
Package bufio implements buffered I/O. It wraps an io.Reader or io.Writer object, creating another object (Reader or Writer) that also implements the interface but provides buffering and some help for textual I/O.
Package builtin provides documentation for Go's predeclared identifiers.
Package builtin provides documentation for Go's predeclared identifiers.
Package bytes implements functions for the manipulation of byte slices.
Package bytes implements functions for the manipulation of byte slices.
Package cmp provides types and functions related to comparing ordered values.
Package cmp provides types and functions related to comparing ordered values.
compress
bzip2
Package bzip2 implements bzip2 decompression.
Package bzip2 implements bzip2 decompression.
flate
Package flate implements the DEFLATE compressed data format, described in RFC 1951.
Package flate implements the DEFLATE compressed data format, described in RFC 1951.
gzip
Package gzip implements reading and writing of gzip format compressed files, as specified in RFC 1952.
Package gzip implements reading and writing of gzip format compressed files, as specified in RFC 1952.
lzw
Package lzw implements the Lempel-Ziv-Welch compressed data format, described in T. A. Welch, “A Technique for High-Performance Data Compression”, Computer, 17(6) (June 1984), pp 8-19.
Package lzw implements the Lempel-Ziv-Welch compressed data format, described in T. A. Welch, “A Technique for High-Performance Data Compression”, Computer, 17(6) (June 1984), pp 8-19.
zlib
Package zlib implements reading and writing of zlib format compressed data, as specified in RFC 1950.
Package zlib implements reading and writing of zlib format compressed data, as specified in RFC 1950.
container
heap
Package heap provides heap operations for any type that implements heap.Interface.
Package heap provides heap operations for any type that implements heap.Interface.
list
Package list implements a doubly linked list.
Package list implements a doubly linked list.
ring
Package ring implements operations on circular lists.
Package ring implements operations on circular lists.
Package context defines the Context type, which carries deadlines, cancellation signals, and other request-scoped values across API boundaries and between processes.
Package context defines the Context type, which carries deadlines, cancellation signals, and other request-scoped values across API boundaries and between processes.
Package crypto collects common cryptographic constants.
Package crypto collects common cryptographic constants.
aes
Package aes implements AES encryption (formerly Rijndael), as defined in U.S. Federal Information Processing Standards Publication 197.
Package aes implements AES encryption (formerly Rijndael), as defined in U.S. Federal Information Processing Standards Publication 197.
cipher
Package cipher implements standard block cipher modes that can be wrapped around low-level block cipher implementations.
Package cipher implements standard block cipher modes that can be wrapped around low-level block cipher implementations.
des
Package des implements the Data Encryption Standard (DES) and the Triple Data Encryption Algorithm (TDEA) as defined in U.S. Federal Information Processing Standards Publication 46-3.
Package des implements the Data Encryption Standard (DES) and the Triple Data Encryption Algorithm (TDEA) as defined in U.S. Federal Information Processing Standards Publication 46-3.
dsa
Package dsa implements the Digital Signature Algorithm, as defined in FIPS 186-3.
Package dsa implements the Digital Signature Algorithm, as defined in FIPS 186-3.
ecdh
Package ecdh implements Elliptic Curve Diffie-Hellman over NIST curves and Curve25519.
Package ecdh implements Elliptic Curve Diffie-Hellman over NIST curves and Curve25519.
ecdsa
Package ecdsa implements the Elliptic Curve Digital Signature Algorithm, as defined in [FIPS 186-5].
Package ecdsa implements the Elliptic Curve Digital Signature Algorithm, as defined in [FIPS 186-5].
ed25519
Package ed25519 implements the Ed25519 signature algorithm.
Package ed25519 implements the Ed25519 signature algorithm.
elliptic
Package elliptic implements the standard NIST P-224, P-256, P-384, and P-521 elliptic curves over prime fields.
Package elliptic implements the standard NIST P-224, P-256, P-384, and P-521 elliptic curves over prime fields.
fips140
Package fips140 provides information about the FIPS 140-3 Go Cryptographic Module and FIPS 140-3 mode.
Package fips140 provides information about the FIPS 140-3 Go Cryptographic Module and FIPS 140-3 mode.
hkdf
Package hkdf implements the HMAC-based Extract-and-Expand Key Derivation Function (HKDF) as defined in RFC 5869.
Package hkdf implements the HMAC-based Extract-and-Expand Key Derivation Function (HKDF) as defined in RFC 5869.
hmac
Package hmac implements the Keyed-Hash Message Authentication Code (HMAC) as defined in U.S. Federal Information Processing Standards Publication 198.
Package hmac implements the Keyed-Hash Message Authentication Code (HMAC) as defined in U.S. Federal Information Processing Standards Publication 198.
hpke
Package hpke implements Hybrid Public Key Encryption (HPKE) as defined in [RFC 9180].
Package hpke implements Hybrid Public Key Encryption (HPKE) as defined in [RFC 9180].
internal/boring
Package boring provides access to BoringCrypto implementation functions.
Package boring provides access to BoringCrypto implementation functions.
internal/boring/bcache
Package bcache implements a GC-friendly cache (see Cache) for BoringCrypto.
Package bcache implements a GC-friendly cache (see Cache) for BoringCrypto.
internal/boring/sig
Package sig holds “code signatures” that can be called and will result in certain code sequences being linked into the final binary.
Package sig holds “code signatures” that can be called and will result in certain code sequences being linked into the final binary.
internal/entropy
Package entropy provides the passive entropy source for the FIPS 140-3 module.
Package entropy provides the passive entropy source for the FIPS 140-3 module.
internal/entropy/v1.0.0
Package entropy implements a CPU jitter-based SP 800-90B entropy source.
Package entropy implements a CPU jitter-based SP 800-90B entropy source.
internal/fips140/alias
Package alias implements memory aliasing tests.
Package alias implements memory aliasing tests.
internal/fips140/check
Package check implements the FIPS 140 load-time code+data verification.
Package check implements the FIPS 140 load-time code+data verification.
internal/fips140/check/checktest
Package checktest defines some code and data for use in the crypto/internal/fips140/check test.
Package checktest defines some code and data for use in the crypto/internal/fips140/check test.
internal/fips140/drbg
Package drbg provides cryptographically secure random bytes usable by FIPS code.
Package drbg provides cryptographically secure random bytes usable by FIPS code.
internal/fips140/edwards25519
Package edwards25519 implements group logic for the twisted Edwards curve
Package edwards25519 implements group logic for the twisted Edwards curve
internal/fips140/edwards25519/field
Package field implements fast arithmetic modulo 2^255-19.
Package field implements fast arithmetic modulo 2^255-19.
internal/fips140/hmac
Package hmac implements HMAC according to [FIPS 198-1].
Package hmac implements HMAC according to [FIPS 198-1].
internal/fips140/mlkem
Package mlkem implements the quantum-resistant key encapsulation method ML-KEM (formerly known as Kyber), as specified in [NIST FIPS 203].
Package mlkem implements the quantum-resistant key encapsulation method ML-KEM (formerly known as Kyber), as specified in [NIST FIPS 203].
internal/fips140/nistec
Package nistec implements the elliptic curves from NIST SP 800-186.
Package nistec implements the elliptic curves from NIST SP 800-186.
internal/fips140/sha256
Package sha256 implements the SHA-224 and SHA-256 hash algorithms as defined in FIPS 180-4.
Package sha256 implements the SHA-224 and SHA-256 hash algorithms as defined in FIPS 180-4.
internal/fips140/sha3
Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length functions defined by [FIPS 202], as well as the cSHAKE extendable-output-length functions defined by [SP 800-185].
Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length functions defined by [FIPS 202], as well as the cSHAKE extendable-output-length functions defined by [SP 800-185].
internal/fips140/sha512
Package sha512 implements the SHA-384, SHA-512, SHA-512/224, and SHA-512/256 hash algorithms as defined in FIPS 180-4.
Package sha512 implements the SHA-384, SHA-512, SHA-512/224, and SHA-512/256 hash algorithms as defined in FIPS 180-4.
internal/fips140/ssh
Package ssh implements the SSH KDF as specified in RFC 4253, Section 7.2 and allowed by SP 800-135 Revision 1.
Package ssh implements the SSH KDF as specified in RFC 4253, Section 7.2 and allowed by SP 800-135 Revision 1.
internal/fips140/tls13
Package tls13 implements the TLS 1.3 Key Schedule as specified in RFC 8446, Section 7.1 and allowed by FIPS 140-3 IG 2.4.B Resolution 7.
Package tls13 implements the TLS 1.3 Key Schedule as specified in RFC 8446, Section 7.1 and allowed by FIPS 140-3 IG 2.4.B Resolution 7.
internal/fips140cache
Package fips140cache provides a weak map that associates the lifetime of values with the lifetime of keys.
Package fips140cache provides a weak map that associates the lifetime of values with the lifetime of keys.
internal/fips140deps
Package fipsdeps contains wrapper packages for internal APIs that are exposed to the FIPS module.
Package fipsdeps contains wrapper packages for internal APIs that are exposed to the FIPS module.
internal/impl
Package impl is a registry of alternative implementations of cryptographic primitives, to allow selecting them for testing.
Package impl is a registry of alternative implementations of cryptographic primitives, to allow selecting them for testing.
internal/randutil
Package randutil contains internal randomness utilities for various crypto packages.
Package randutil contains internal randomness utilities for various crypto packages.
internal/sysrand
Package rand provides cryptographically secure random bytes from the operating system.
Package rand provides cryptographically secure random bytes from the operating system.
md5
Package md5 implements the MD5 hash algorithm as defined in RFC 1321.
Package md5 implements the MD5 hash algorithm as defined in RFC 1321.
mlkem
Package mlkem implements the quantum-resistant key encapsulation method ML-KEM (formerly known as Kyber), as specified in [NIST FIPS 203].
Package mlkem implements the quantum-resistant key encapsulation method ML-KEM (formerly known as Kyber), as specified in [NIST FIPS 203].
mlkem/mlkemtest
Package mlkemtest provides testing functions for the ML-KEM algorithm.
Package mlkemtest provides testing functions for the ML-KEM algorithm.
pbkdf2
Package pbkdf2 implements the key derivation function PBKDF2 as defined in RFC 8018 (PKCS #5 v2.1).
Package pbkdf2 implements the key derivation function PBKDF2 as defined in RFC 8018 (PKCS #5 v2.1).
rand
Package rand implements a cryptographically secure random number generator.
Package rand implements a cryptographically secure random number generator.
rc4
Package rc4 implements RC4 encryption, as defined in Bruce Schneier's Applied Cryptography.
Package rc4 implements RC4 encryption, as defined in Bruce Schneier's Applied Cryptography.
rsa
Package rsa implements RSA encryption as specified in PKCS #1 and RFC 8017.
Package rsa implements RSA encryption as specified in PKCS #1 and RFC 8017.
sha1
Package sha1 implements the SHA-1 hash algorithm as defined in RFC 3174.
Package sha1 implements the SHA-1 hash algorithm as defined in RFC 3174.
sha256
Package sha256 implements the SHA224 and SHA256 hash algorithms as defined in FIPS 180-4.
Package sha256 implements the SHA224 and SHA256 hash algorithms as defined in FIPS 180-4.
sha3
Package sha3 implements the SHA-3 hash algorithms and the SHAKE extendable output functions defined in FIPS 202.
Package sha3 implements the SHA-3 hash algorithms and the SHAKE extendable output functions defined in FIPS 202.
sha512
Package sha512 implements the SHA-384, SHA-512, SHA-512/224, and SHA-512/256 hash algorithms as defined in FIPS 180-4.
Package sha512 implements the SHA-384, SHA-512, SHA-512/224, and SHA-512/256 hash algorithms as defined in FIPS 180-4.
subtle
Package subtle implements functions that are often useful in cryptographic code but require careful thought to use correctly.
Package subtle implements functions that are often useful in cryptographic code but require careful thought to use correctly.
tls
Package tls partially implements TLS 1.2, as specified in RFC 5246, and TLS 1.3, as specified in RFC 8446.
Package tls partially implements TLS 1.2, as specified in RFC 5246, and TLS 1.3, as specified in RFC 8446.
tls/internal/fips140tls
Package fips140tls controls whether crypto/tls requires FIPS-approved settings.
Package fips140tls controls whether crypto/tls requires FIPS-approved settings.
x509
Package x509 implements a subset of the X.509 standard.
Package x509 implements a subset of the X.509 standard.
x509/internal/macos
Package macos provides cgo-less wrappers for Core Foundation and Security.framework, similarly to how package syscall provides access to libSystem.dylib.
Package macos provides cgo-less wrappers for Core Foundation and Security.framework, similarly to how package syscall provides access to libSystem.dylib.
x509/pkix
Package pkix contains shared, low level structures used for ASN.1 parsing and serialization of X.509 certificates, CRL and OCSP.
Package pkix contains shared, low level structures used for ASN.1 parsing and serialization of X.509 certificates, CRL and OCSP.
database
sql
Package sql provides a generic interface around SQL (or SQL-like) databases.
Package sql provides a generic interface around SQL (or SQL-like) databases.
sql/driver
Package driver defines interfaces to be implemented by database drivers as used by package sql.
Package driver defines interfaces to be implemented by database drivers as used by package sql.
debug
buildinfo
Package buildinfo provides access to information embedded in a Go binary about how it was built.
Package buildinfo provides access to information embedded in a Go binary about how it was built.
dwarf
Package dwarf provides access to DWARF debugging information loaded from executable files, as defined in the DWARF 2.0 Standard at http://dwarfstd.org/doc/dwarf-2.0.0.pdf.
Package dwarf provides access to DWARF debugging information loaded from executable files, as defined in the DWARF 2.0 Standard at http://dwarfstd.org/doc/dwarf-2.0.0.pdf.
elf
Package elf implements access to ELF object files.
Package elf implements access to ELF object files.
gosym
Package gosym implements access to the Go symbol and line number tables embedded in Go binaries generated by the gc compilers.
Package gosym implements access to the Go symbol and line number tables embedded in Go binaries generated by the gc compilers.
macho
Package macho implements access to Mach-O object files.
Package macho implements access to Mach-O object files.
pe
Package pe implements access to PE (Microsoft Windows Portable Executable) files.
Package pe implements access to PE (Microsoft Windows Portable Executable) files.
plan9obj
Package plan9obj implements access to Plan 9 a.out object files.
Package plan9obj implements access to Plan 9 a.out object files.
Package embed provides access to files embedded in the running Go program.
Package embed provides access to files embedded in the running Go program.
Package encoding defines interfaces shared by other packages that convert data to and from byte-level and textual representations.
Package encoding defines interfaces shared by other packages that convert data to and from byte-level and textual representations.
ascii85
Package ascii85 implements the ascii85 data encoding as used in the btoa tool and Adobe's PostScript and PDF document formats.
Package ascii85 implements the ascii85 data encoding as used in the btoa tool and Adobe's PostScript and PDF document formats.
asn1
Package asn1 implements parsing of DER-encoded ASN.1 data structures, as defined in ITU-T Rec X.690.
Package asn1 implements parsing of DER-encoded ASN.1 data structures, as defined in ITU-T Rec X.690.
base32
Package base32 implements base32 encoding as specified by RFC 4648.
Package base32 implements base32 encoding as specified by RFC 4648.
base64
Package base64 implements base64 encoding as specified by RFC 4648.
Package base64 implements base64 encoding as specified by RFC 4648.
binary
Package binary implements simple translation between numbers and byte sequences and encoding and decoding of varints.
Package binary implements simple translation between numbers and byte sequences and encoding and decoding of varints.
csv
Package csv reads and writes comma-separated values (CSV) files.
Package csv reads and writes comma-separated values (CSV) files.
gob
Package gob manages streams of gobs - binary values exchanged between an Encoder (transmitter) and a Decoder (receiver).
Package gob manages streams of gobs - binary values exchanged between an Encoder (transmitter) and a Decoder (receiver).
hex
Package hex implements hexadecimal encoding and decoding.
Package hex implements hexadecimal encoding and decoding.
json
Package json implements encoding and decoding of JSON as defined in RFC 7159.
Package json implements encoding and decoding of JSON as defined in RFC 7159.
json/internal/jsonflags
jsonflags implements all the optional boolean flags.
jsonflags implements all the optional boolean flags.
json/internal/jsontest
Package jsontest contains functionality to assist in testing JSON.
Package jsontest contains functionality to assist in testing JSON.
json/internal/jsonwire
Package jsonwire implements stateless functionality for handling JSON text.
Package jsonwire implements stateless functionality for handling JSON text.
json/jsontext
Package jsontext implements syntactic processing of JSON as specified in RFC 4627, RFC 7159, RFC 7493, RFC 8259, and RFC 8785.
Package jsontext implements syntactic processing of JSON as specified in RFC 4627, RFC 7159, RFC 7493, RFC 8259, and RFC 8785.
json/v2
Package json implements semantic processing of JSON as specified in RFC 8259.
Package json implements semantic processing of JSON as specified in RFC 8259.
pem
Package pem implements the PEM data encoding, which originated in Privacy Enhanced Mail.
Package pem implements the PEM data encoding, which originated in Privacy Enhanced Mail.
xml
Package xml implements a simple XML 1.0 parser that understands XML name spaces.
Package xml implements a simple XML 1.0 parser that understands XML name spaces.
Package errors implements functions to manipulate errors.
Package errors implements functions to manipulate errors.
Package expvar provides a standardized interface to public variables, such as operation counters in servers.
Package expvar provides a standardized interface to public variables, such as operation counters in servers.
Package flag implements command-line flag parsing.
Package flag implements command-line flag parsing.
Package fmt implements formatted I/O with functions analogous to C's printf and scanf.
Package fmt implements formatted I/O with functions analogous to C's printf and scanf.
go
ast
Package ast declares the types used to represent syntax trees for Go packages.
Package ast declares the types used to represent syntax trees for Go packages.
build
Package build gathers information about Go packages.
Package build gathers information about Go packages.
build/constraint
Package constraint implements parsing and evaluation of build constraint lines.
Package constraint implements parsing and evaluation of build constraint lines.
constant
Package constant implements Values representing untyped Go constants and their corresponding operations.
Package constant implements Values representing untyped Go constants and their corresponding operations.
doc
Package doc extracts source code documentation from a Go AST.
Package doc extracts source code documentation from a Go AST.
doc/comment
Package comment implements parsing and reformatting of Go doc comments, (documentation comments), which are comments that immediately precede a top-level declaration of a package, const, func, type, or var.
Package comment implements parsing and reformatting of Go doc comments, (documentation comments), which are comments that immediately precede a top-level declaration of a package, const, func, type, or var.
format
Package format implements standard formatting of Go source.
Package format implements standard formatting of Go source.
importer
Package importer provides access to export data importers.
Package importer provides access to export data importers.
internal/gccgoimporter
Package gccgoimporter implements Import for gccgo-generated object files.
Package gccgoimporter implements Import for gccgo-generated object files.
internal/gcimporter
Package gcimporter implements Import for gc-generated object files.
Package gcimporter implements Import for gc-generated object files.
internal/scannerhooks
Package scannerhooks defines nonexported channels between parser and scanner.
Package scannerhooks defines nonexported channels between parser and scanner.
internal/srcimporter
Package srcimporter implements importing directly from source files rather than installed packages.
Package srcimporter implements importing directly from source files rather than installed packages.
parser
Package parser implements a parser for Go source files.
Package parser implements a parser for Go source files.
printer
Package printer implements printing of AST nodes.
Package printer implements printing of AST nodes.
scanner
Package scanner implements a scanner for Go source text.
Package scanner implements a scanner for Go source text.
token
Package token defines constants representing the lexical tokens of the Go programming language and basic operations on tokens (printing, predicates).
Package token defines constants representing the lexical tokens of the Go programming language and basic operations on tokens (printing, predicates).
types
Package types declares the data types and implements the algorithms for type-checking of Go packages.
Package types declares the data types and implements the algorithms for type-checking of Go packages.
version
Package version provides operations on [Go versions] in [Go toolchain name syntax]: strings like "go1.20", "go1.21.0", "go1.22rc2", and "go1.23.4-custom".
Package version provides operations on [Go versions] in [Go toolchain name syntax]: strings like "go1.20", "go1.21.0", "go1.22rc2", and "go1.23.4-custom".