Alias SHA512Digest
OOP API SHA1
and SHA2 implementations.
See std.digest.digest for differences between template and OOP API.
This is an alias for digest.digest, WrapperDigest!SHA1
, see
digest.digest, WrapperDigest for more information.
Declaration
module dauth.sha;
// ...
alias SHA512Digest = std. digest. digest. WrapperDigest!(dauth.sha.SHA!(1024,512).SHA)
;
// ...
Example
//Simple example, hashing a string using Digest.digest helper function auto sha = new SHA1Digest(); ubyte[] hash = sha.digest("abc"); //Let's get a hash string assert(toHexString(hash) == "A9993E364706816ABA3E25717850C26C9CD0D89D"); //The same, but using SHA-224 auto sha224 = new SHA224Digest(); ubyte[] hash224 = sha224.digest("abc"); //Let's get a hash string assert(toHexString(hash224) == "23097D223405D8228642A477BDA255B32AADBCE4BDA0B3F7E36C9DA7");
Example
//Let's use the OOP features: void test(Digest dig) { dig.put(cast(ubyte)0); } auto sha = new SHA1Digest(); test(sha); //Let's use a custom buffer: ubyte[20] buf; ubyte[] result = sha.finish(buf[]); assert(toHexString(result) == "5BA93C9DB0CFF93F52B521D7420E43F6EDA2784F");
Authors
The routines and algorithms are derived from the Secure Hash Signature Standard (SHS) (FIPS PUB 180-2). Kai Nacke, Johannes Pfau, Nick Sabalausky