Package crypto
import "crypto"
Package crypto collects common cryptographic constants.
Package files
crypto.gofunc RegisterHash
func RegisterHash(h Hash, f func() hash.Hash)
RegisterHash registers a function that returns a new instance of the given hash function. This is intended to be called from the init function in packages that implement hash functions.
type Hash
Hash identifies a cryptographic hash function that is implemented in another package.
type Hash uint
const (
MD4 Hash = 1 + iota // in package crypto/md4
MD5 // in package crypto/md5
SHA1 // in package crypto/sha1
SHA224 // in package crypto/sha256
SHA256 // in package crypto/sha256
SHA384 // in package crypto/sha512
SHA512 // in package crypto/sha512
MD5SHA1 // no implementation; MD5+SHA1 used for TLS RSA
RIPEMD160 // in package crypto/ripemd160
)
func (Hash) New
func (h Hash) New() hash.Hash
New returns a new hash.Hash calculating the given hash function. If the hash function is not linked into the binary, New returns nil.
func (Hash) Size
func (h Hash) Size() int
Size returns the length, in bytes, of a digest resulting from the given hash function. It doesn't require that the hash function in question be linked into the program.
Need more packages? The Package Dashboard provides a list of goinstallable packages.
Subdirectories
| Name | Synopsis | ||
|---|---|---|---|
| .. | |||
| aes | Package aes implements AES encryption (formerly Rijndael), as defined in U.S. Federal Information Processing Standards Publication 197. | ||
| blowfish | Package blowfish implements Bruce Schneier's Blowfish encryption algorithm. | ||
| cast5 | Package cast5 implements CAST5, as defined in RFC 2144. | ||
| cipher | 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. | ||
| dsa | Package dsa implements the Digital Signature Algorithm, as defined in FIPS 186-3 | ||
| ecdsa | Package ecdsa implements the Elliptic Curve Digital Signature Algorithm, as defined in FIPS 186-3. | ||
| elliptic | Package elliptic implements several standard elliptic curves over prime fields. | ||
| hmac | Package hmac implements the Keyed-Hash Message Authentication Code (HMAC) as defined in U.S. Federal Information Processing Standards Publication 198. | ||
| md4 | Package md4 implements the MD4 hash algorithm as defined in RFC 1320. | ||
| md5 | Package md5 implements the MD5 hash algorithm as defined in RFC 1321. | ||
| ocsp | Package ocsp parses OCSP responses as specified in RFC 2560. | ||
| openpgp | Package openpgp implements high level operations on OpenPGP messages. | ||
| armor | Package armor implements OpenPGP ASCII Armor, see RFC 4880. | ||
| elgamal | Package elgamal implements ElGamal encryption, suitable for OpenPGP, as specified in "A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms," IEEE Transactions on Information Theory, v. | ||
| error | Package error contains common error types for the OpenPGP packages. | ||
| packet | Package packet implements parsing and serialization of OpenPGP packets, as specified in RFC 4880. | ||
| s2k | Package s2k implements the various OpenPGP string-to-key transforms as specified in RFC 4800 section 3.7.1. | ||
| rand | Package rand implements a cryptographically secure pseudorandom number generator. | ||
| rc4 | Package rc4 implements RC4 encryption, as defined in Bruce Schneier's Applied Cryptography. | ||
| ripemd160 | Package ripemd160 implements the RIPEMD-160 hash algorithm. | ||
| rsa | Package rsa implements RSA encryption as specified in PKCS#1. | ||
| sha1 | Package sha1 implements the SHA1 hash algorithm as defined in RFC 3174. | ||
| sha256 | Package sha256 implements the SHA224 and SHA256 hash algorithms as defined in FIPS 180-2. | ||
| sha512 | Package sha512 implements the SHA384 and SHA512 hash algorithms as defined in FIPS 180-2. | ||
| subtle | Package subtle implements functions that are often useful in cryptographic code but require careful thought to use correctly. | ||
| tls | Package tls partially implements the TLS 1.1 protocol, as specified in RFC 4346. | ||
| twofish | Package twofish implements Bruce Schneier's Twofish encryption algorithm. | ||
| x509 | Package x509 parses X.509-encoded keys and certificates. | ||
| pkix | Package pkix contains shared, low level structures used for ASN.1 parsing and serialization of X.509 certificates, CRL and OCSP. | ||
| xtea | Package xtea implements XTEA encryption, as defined in Needham and Wheeler's 1997 technical report, "Tea extensions. | ||