# package crypto

`import "crypto"`

crypto包搜集了常用的密码（算法）常量。

## type PublicKey

    type PublicKey interface{}

代表一个使用未指定算法的公钥。

## type PrivateKey

    type PrivateKey interface{}

代表一个使用未指定算法的私钥。

## type Hash

    type Hash uint

Hash用来识别/标识另一个包里实现的加密函数。

    const (
        MD4       Hash = 1 + iota // 导入code.google.com/p/go.crypto/md4
        MD5                       // 导入crypto/md5
        SHA1                      // 导入crypto/sha1
        SHA224                    // 导入crypto/sha256
        SHA256                    // 导入crypto/sha256
        SHA384                    // 导入crypto/sha512
        SHA512                    // 导入crypto/sha512
        MD5SHA1                   // 未实现；MD5+SHA1用于TLS RSA
        RIPEMD160                 // 导入code.google.com/p/go.crypto/ripemd160
    )

### func (Hash) Available

    func (h Hash) Available() bool

报告是否有hash函数注册到该标识值。

### func (Hash) Size

    func (h Hash) Size() int

返回给定hash函数返回值的字节长度。

### func (Hash) New

    func (h Hash) New() hash.Hash

创建一个使用给定hash函数的hash.Hash接口，如果该标识值未注册hash函数，将会panic。

## func RegisterHash

    func RegisterHash(h Hash, f func() hash.Hash)

注册一个返回给定hash接口实例的函数，并指定其标识值，该函数应在实现hash接口的包的init函数中调用。