org.apache.shiro.crypto.hash
Interface HashRequest

All Known Implementing Classes:
SimpleHashRequest

public interface HashRequest

A HashRequest is composed of data that will be used by a HashService to compute a hash (aka 'digest'). While you can instantiate a concrete HashRequest class directly, most will find using the HashRequest.Builder more convenient.

Since:
1.2
See Also:
HashRequest.Builder

Nested Class Summary
static class HashRequest.Builder
          A Builder class representing the Builder design pattern for constructing HashRequest instances.
 
Method Summary
 String getAlgorithmName()
          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.
 int getIterations()
          Returns the number of requested hash iterations to be performed when computing the final Hash result.
 ByteSource getSalt()
          Returns a salt to be used by the HashService during hash computation, or null if no salt is provided as part of the request.
 ByteSource getSource()
          Returns the source data that will be hashed by a HashService.
 

Method Detail

getSource

ByteSource getSource()
Returns the source data that will be hashed by a HashService. For example, this might be a ByteSource representation of a password, or file, etc.

Returns:
the source data that will be hashed by a HashService.

getSalt

ByteSource getSalt()
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.

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

int getIterations()
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.

Returns:
the number of requested hash iterations to be performed when computing the final Hash result.

getAlgorithmName

String getAlgorithmName()
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.

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.


Copyright © 2004-2012 The Apache Software Foundation. All Rights Reserved.