Documentation ¶
Index ¶
- Constants
- func HMACIdentifiedValue(salt, val, hmacType string, hashFunc func() hash.Hash) string
- func HMACValue(salt, val string, hashFunc func() hash.Hash) string
- func SHA1Hash(inp []byte) []byte
- func SHA256Hash(inp []byte) []byte
- func SaltID(salt, id string, hash HashFunc) string
- type Config
- type HashFunc
- type Salt
Constants ¶
const ( // DefaultLocation is the path in the view we store our key salt // if no other path is provided. DefaultLocation = "salt" )
Variables ¶
This section is empty.
Functions ¶
func HMACIdentifiedValue ¶
Types ¶
type Config ¶
type Config struct { // Location is the path in the storage backend for the // salt. Uses DefaultLocation if not specified. Location string // HashFunc is the hashing function to use for salting. // Defaults to SHA1 if not provided. HashFunc HashFunc // HMAC allows specification of a hash function to use for // the HMAC helpers HMAC func() hash.Hash // String prepended to HMAC strings for identification. // Required if using HMAC HMACType string }
Config is used to parameterize the Salt
type Salt ¶
type Salt struct {
// contains filtered or unexported fields
}
Salt is used to manage a persistent salt key which is used to hash values. This allows keys to be generated and recovered using the global salt. Primarily, this allows paths in the storage backend to be obfuscated if they may contain sensitive information.
func NewNonpersistentSalt ¶
func NewNonpersistentSalt() *Salt
NewNonpersistentSalt creates a new salt with default configuration and no storage usage.
func (*Salt) DidGenerate ¶
DidGenerate returns true if the underlying salt value was generated on initialization.
func (*Salt) GetHMAC ¶
GetHMAC is used to apply a salt and hash function to data to make sure it is not reversible, with an additional HMAC
func (*Salt) GetIdentifiedHMAC ¶
GetIdentifiedHMAC is used to apply a salt and hash function to data to make sure it is not reversible, with an additional HMAC, and ID prepended