多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# package crypto `import "crypto"` crypto包搜集了常用的密码(算法)常量。 ## Index * [type PublicKey](#PublicKey) * [type PrivateKey](#PrivateKey) * [type Hash](#Hash) * [func (h Hash) Available() bool](#Hash.Available) * [func (h Hash) Size() int](#Hash.Size) * [func (h Hash) New() hash.Hash](#Hash.New) * [func RegisterHash(h Hash, f func() hash.Hash)](#RegisterHash) ## type [PublicKey](https://github.com/golang/go/blob/master/src/crypto/crypto.go#L82 "View Source") ``` type PublicKey interface{} ``` 代表一个使用未指定算法的公钥。 ## type [PrivateKey](https://github.com/golang/go/blob/master/src/crypto/crypto.go#L85 "View Source") ``` type PrivateKey interface{} ``` 代表一个使用未指定算法的私钥。 ## type [Hash](https://github.com/golang/go/blob/master/src/crypto/crypto.go#L15 "View Source") ``` 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](https://github.com/golang/go/blob/master/src/crypto/crypto.go#L67 "View Source") ``` func (h Hash) Available() bool ``` 报告是否有hash函数注册到该标识值。 ### func (Hash) [Size](https://github.com/golang/go/blob/master/src/crypto/crypto.go#L45 "View Source") ``` func (h Hash) Size() int ``` 返回给定hash函数返回值的字节长度。 ### func (Hash) [New](https://github.com/golang/go/blob/master/src/crypto/crypto.go#L56 "View Source") ``` func (h Hash) New() hash.Hash ``` 创建一个使用给定hash函数的hash.Hash接口,如果该标识值未注册hash函数,将会panic。 ## func [RegisterHash](https://github.com/golang/go/blob/master/src/crypto/crypto.go#L74 "View Source") ``` func RegisterHash(h Hash, f func() hash.Hash) ``` 注册一个返回给定hash接口实例的函数,并指定其标识值,该函数应在实现hash接口的包的init函数中调用。