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.
							
						Module std.digest.hmac
This package implements the hash-based message authentication code (HMAC) algorithm as defined in RFC2104. See also the corresponding Wikipedia article.
Example
Template API HMAC implementation.
This implements an HMAC over the digest H. If H doesn't provide information about the block size, it can be supplied explicitly using the second overload.
 This type conforms to std.
Compute HMAC over an input string
import std .ascii : LetterCase;
import std .digest : toHexString;
import std .digest .sha : SHA1;
import std .string : representation;
auto secret = "secret" .representation;
assert("The quick brown fox jumps over the lazy dog"
         .representation
         .hmac!SHA1(secret)
         .toHexString!(LetterCase .lower) == "198ea1ea04c435c1246b586a06d5cf11c3ffcda6");
Structs
| Name | Description | 
|---|---|
								
									HMAC
								
							 | 
							Overload of HMAC to be used if H doesn't provide information about its block size. | 
Templates
| Name | Description | 
|---|---|
								
									hmac
								
							 | 
							Overload of HMAC to be used if H doesn't provide information about its block size. | 
Aliases
| Name | Type | Description | 
|---|---|---|
								
									hmac
								
							 | 
							
								hmac!(H,H.blockSize)
							 | 
							Overload of HMAC to be used if H doesn't provide information about its block size. | 
Authors
License
					Copyright © 1999-2024 by the D Language Foundation | Page generated by ddox.