View source code
							
							
						
								Display the source code in std/digest/sha.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.
							
						Struct std.digest.sha.SHA
Template API SHA1/SHA2 implementation. Supports: SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 and SHA-512/256.
						
				struct SHA(uint hashBlockSize, uint digestSize)
				;
						
					
				The hashBlockSize and digestSize are in bits. However, it's likely easier to simply use the convenience aliases: SHA1, SHA224, SHA256, SHA384, SHA512, SHA512_224 and SHA512_256.
 See std for differences between template and OOP API.
Methods
| Name | Description | 
|---|---|
| finish | Returns the finished SHA hash. This also calls startto
 reset the internal state. | 
| put | Use this to feed the digest with data.
 Also implements the isOutputRangeinterface forubyteandconst(ubyte)[]. | 
| start | SHA initialization. Begins an SHA1/SHA2 operation. | 
Example
//Simple example, hashing a string using sha1Of helper function
ubyte[20] hash = sha1Of("abc");
//Let's get a hash string
writeln(toHexString(hash)); // "A9993E364706816ABA3E25717850C26C9CD0D89D"
//The same, but using SHA-224
ubyte[28] hash224 = sha224Of("abc");
writeln(toHexString(hash224)); // "23097D223405D8228642A477BDA255B32AADBCE4BDA0B3F7E36C9DA7"
Example
//Using the basic API
SHA1 hash;
hashExample
//Let's use the template features:
//Note: When passing a SHA1 to a function, it must be passed by reference!
void doSomething(T)(ref T hash)
if (isDigest!T)
{
  hashAuthors
The routines and algorithms are derived from the
 Secure Hash Signature Standard (SHS) (FIPS PUB 180-2). 
 Kai Nacke, Johannes Pfau, Nick Sabalausky
License
					Copyright © 1999-2022 by the D Language Foundation | Page generated by ddox.