Class SimpleHashRequest

    • Constructor Detail

      • SimpleHashRequest

        public SimpleHashRequest​(String algorithmName,
                                 ByteSource source,
                                 ByteSource salt,
                                 int iterations)
        Creates a new SimpleHashRequest instance.
        Parameters:
        algorithmName - the name of the hash algorithm to use. This is often null as the HashService implementation is usually configured with an appropriate algorithm name, but this can be non-null if the hash service's algorithm should be overridden with a specific one for the duration of the request.
        source - the source to be hashed
        salt - any public salt which should be used when computing the hash
        iterations - the number of hash iterations to execute. Zero (0) indicates no iterations were specified for the request, at which point the number of iterations is decided by the HashService
        Throws:
        NullPointerException - if source is null or empty.
    • Method Detail

      • getSalt

        public ByteSource getSalt()
        Description copied from interface: HashRequest
        Returns a salt to be used by the HashService during hash computation, or null if no salt is provided as part of the request.

        Note that a null value does not necessarily mean a salt won't be used at all - it just means that the request didn't include one. The servicing HashService is free to provide a salting strategy for a request, even if the request did not specify one.

        Specified by:
        getSalt in interface HashRequest
        Returns:
        a salt to be used by the HashService during hash computation, or null if no salt is provided as part of the request.
      • getIterations

        public int getIterations()
        Description copied from interface: HashRequest
        Returns the number of requested hash iterations to be performed when computing the final Hash result. A non-positive (0 or less) indicates that the HashService's default iteration configuration should be used. A positive value overrides the HashService's configuration for a single request.

        Note that a HashService is free to ignore this number if it determines the number is not sufficient to meet a desired level of security.

        Specified by:
        getIterations in interface HashRequest
        Returns:
        the number of requested hash iterations to be performed when computing the final Hash result.
      • getAlgorithmName

        public String getAlgorithmName()
        Description copied from interface: HashRequest
        Returns the name of the hash algorithm the HashService should use when computing the Hash, or null if the default algorithm configuration of the HashService should be used. A non-null value overrides the HashService's configuration for a single request.

        Note that a HashService is free to ignore this value if it determines that the algorithm is not sufficient to meet a desired level of security.

        Specified by:
        getAlgorithmName in interface HashRequest
        Returns:
        the name of the hash algorithm the HashService should use when computing the Hash, or null if the default algorithm configuration of the HashService should be used.