package salt
import "github.com/hashicorp/vault/sdk/helper/salt"
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
- func NewNonpersistentSalt() *Salt
- func NewSalt(ctx context.Context, view logical.Storage, config *Config) (*Salt, error)
- func (s *Salt) DidGenerate() bool
- func (s *Salt) GetHMAC(data string) string
- func (s *Salt) GetIdentifiedHMAC(data string) string
- func (s *Salt) SaltID(id string) string
- func (s *Salt) SaltIDHashFunc(id string, hashFunc HashFunc) string
Constants ¶
const ( // DefaultLocation is the path in the view we store our key salt // if no other path is provided. DefaultLocation = "salt" )
Functions ¶
func HMACIdentifiedValue ¶
func HMACValue ¶
func SHA1Hash ¶
SHA1Hash returns the SHA1 of the input
func SHA256Hash ¶
SHA256Hash returns the SHA256 of the input
func SaltID ¶
SaltID is used to apply a salt and hash function to an ID to make sure it is not reversible
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 HashFunc ¶
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 NewSalt ¶
NewSalt creates a new salt based on the configuration
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
func (*Salt) SaltID ¶
SaltID is used to apply a salt and hash function to an ID to make sure it is not reversible
func (*Salt) SaltIDHashFunc ¶
SaltIDHashFunc uses the supplied hash function instead of the configured hash func in the salt.
Source Files ¶
- Version
- v0.18.0 (latest)
- Published
- Jun 5, 2025
- Platform
- linux/amd64
- Imports
- 10 packages
- Last checked
- 1 month ago –
Tools for package owners.