View source code
							
							
						
								Display the source code in std/digest/hmac.d from which this
								page was generated on github.
							
						
							Report a bug
							
						
								If you spot a problem with this page, click here to create a
								Bugzilla issue.
							
						
							
								Improve this page
							
							
					
								Quickly fork, edit online, and submit a pull request for this page.
								Requires a signed-in GitHub account. This works well for small changes.
								If you'd like to make larger changes you may want to consider using
								local clone.
							
						std.digest.hmac.HMAC/hmac  - multiple declarations
				Struct HMAC
Overload of HMAC to be used if H doesn't provide information about its block size.
						
				struct HMAC(H, ulong hashBlockSize)
				
				  
				
				if (hashBlockSize % 8 == 0);
						
					
				Constructors
| Name | Description | 
|---|---|
								
									this
								
								(secret)
							 | 
							Constructs the HMAC digest using the specified secret. | 
Methods
| Name | Description | 
|---|---|
								
									finish
								
								()
							 | 
							Resets the digest and returns the finished hash. | 
								
									put
								
								()
							 | 
							Feeds a piece of data into the hash computation. This method allows the
 type to be used as an std.
 | 
						
								
									start
								
								()
							 | 
							Reinitializes the digest, making it ready for reuse. | 
Example
import std .digest .sha : SHA1;
import std .string : representation;
string data1 = "Hello, world", data2 = "Hola mundo";
auto hmac = HMAC!SHA1("My s3cR3T keY" .representation);
auto digest = hmac .put(data1 .representation)
                   .put(data2 .representation)
                   .finish();
static immutable expected = [
    197, 57, 52, 3, 13, 194, 13,
    36, 117, 228, 8, 11, 111, 51,
    165, 3, 123, 31, 251, 113];
writeln(digest); // expected
Alias/Template hmac
Overload of HMAC to be used if H doesn't provide information about its block size.
						
						
				template hmac(H, ulong blockSize)
				;
						
					
				Alias hmac
Template hmac
Contained Functions
| Name | Description | 
|---|---|
| hmac | Constructs an HMAC digest with the specified secret. | 
| hmac | Computes an HMAC digest over the given range of data with the specified secret. | 
Example
import std .digest .sha : SHA1;
import std .string : representation;
string data1 = "Hello, world", data2 = "Hola mundo";
auto hmac = HMAC!SHA1("My s3cR3T keY" .representation);
auto digest = hmac .put(data1 .representation)
                   .put(data2 .representation)
                   .finish();
static immutable expected = [
    197, 57, 52, 3, 13, 194, 13,
    36, 117, 228, 8, 11, 111, 51,
    165, 3, 123, 31, 251, 113];
writeln(digest); // expected
Authors
License
					Copyright © 1999-2024 by the D Language Foundation | Page generated by ddox.