Function Hash.toString
Encodes the digest
, salt
and hash
into a convenient forward-compatible
string format, ready for insertion into a database.
To support additional digests besides the built-in (Phobos's CRC32, MD5,
RIPEMD160 and SHA), supply a custom delegate for digestCodeOfObj
.
Your custom digestCodeOfObj
only needs to handle OO-style digests.
As long as the OO-style digests were created using Phobos's
WrapperDigest template, the template-style version will be handled
automatically. You can defer to DAuth's defaultDigestCodeOfObj
to
handle the built-in digests.
Prototypes
string toString( string delegate(Digest) digestCodeOfObj ); void toString(Sink)( ref Sink sink, string delegate(Digest) digestCodeOfObj );
Example
import std.digest.digest; import dauth; struct BBQ42 {...} static assert(isDigest!BBQ42); alias BBQ42Digest = WrapperDigest!BBQ42; string customDigestCodeOfObj(Digest digest) { if (cast(BBQ42Digest)digest) return "BBQ42"; else if(cast(FAQ17Digest)digest) return "FAQ17"; else return defaultDigestCodeOfObj(digest); } void doStuff(Hash!BBQ42 hash) { writeln( hash.toString(&customDigestCodeOfObj) ); }
Optional Params
digestCodeOfObj
- Default value is 'toDelegate(&defaultDigestCodeOfObj
)'