On Thursday, 23 July 2015 at 11:49:05 UTC, cym13 wrote:
On Thursday, 23 July 2015 at 11:15:46 UTC, Enjoys Math wrote:
1.  Is the best way to hash a uint[] slice

2.  How do you do it?

IIRC, std.digest functions take ubyte[] as input, so to hash a uint[] I would do the following:

    void main(string[] args)
    {
        import std.conv;
        import std.digest.md;

        int[] a   = [1, 2, 3, 4, 5];
        auto  md5 = new MD5Digest();

        md5.put(a.to!(ubyte[]));

        auto hash = md5.finish();
        writeln(hash);
    }

Thanks.  That worked.   Here's my code:

module hashtools;
import std.conv;
import std.digest.md;

string uintSliceToHash(const uint[] slice) {
    auto  md5 = new MD5Digest();
    md5.put(slice.to!(ubyte[]));
    return md5.finish().to!(string);
}

unittest {
    import std.stdio;
    uint[] slice = [1,2,3,4];
    writeln(uintSliceToHash(slice));
}

Reply via email to