Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
Functions ¶
func Base64_24Bit ¶
Base64_24Bit is a variant of Base64 encoding, commonly used with password hashing algorithms to encode the result of their checksum output.
The algorithm operates on up to 3 bytes at a time, encoding the following 6-bit sequences into up to 4 hash64 ASCII bytes.
- Bottom 6 bits of the first byte
- Top 2 bits of the first byte, and bottom 4 bits of the second byte.
- Top 4 bits of the second byte, and bottom 2 bits of the third byte.
- Top 6 bits of the third byte.
This encoding method does not emit padding bytes as Base64 does.
Types ¶
type Salt ¶
type Salt struct { MagicPrefix []byte SaltLenMin int SaltLenMax int RoundsMin int RoundsMax int RoundsDefault int }
Salt represents a salt.
func (*Salt) Generate ¶
Generate generates a random salt of a given length.
The length is set thus:
length > SaltLenMax: length = SaltLenMax length < SaltLenMin: length = SaltLenMin
func (*Salt) GenerateWRounds ¶
GenerateWRounds creates a random salt with the random bytes being of the length provided, and the rounds parameter set as specified.
The parameters are set thus:
length > SaltLenMax: length = SaltLenMax length < SaltLenMin: length = SaltLenMin rounds < 0: rounds = RoundsDefault rounds < RoundsMin: rounds = RoundsMin rounds > RoundsMax: rounds = RoundsMax
If rounds is equal to RoundsDefault, then the "rounds=" part of the salt is removed.