Your run-of-the-mill 'util' pacakge for components and logic widely used across the framework that can't
find their home into a proper OO hierarchy (or, most likely for things used across many hierarchies).

SimpleAccount(Object principal,
Object hashedCredentials,
ByteSource credentialsSalt,
String realmName)
Constructs a SimpleAccount instance for the specified realm with the given principals, hashedCredentials and
credentials salt used when hashing the credentials.

SimpleAuthenticationInfo(Object principal,
Object hashedCredentials,
ByteSource credentialsSalt,
String realmName)
Constructor that takes in a single 'primary' principal of the account, its corresponding hashed credentials,
the salt used to hash the credentials, and the name of the realm to associate with the principals.

DefaultHashService.combine(ByteSource privateSalt,
ByteSource publicSalt)
Combines the specified 'private' salt bytes with the specified additional extra bytes to use as the
total salt during hash computation.

DefaultHashService.combine(ByteSource privateSalt,
ByteSource publicSalt)
Combines the specified 'private' salt bytes with the specified additional extra bytes to use as the
total salt during hash computation.