genDigest :: Word32 -> BS.ByteString -> BS.ByteString
genDigest challenge cookie =
    let ctx0 = hashInitWith MD5
        ctx1 = hashUpdate ctx0 cookie
        ctx2 = hashUpdate ctx1 (CS.pack (show challenge))
        digest = hashFinalize ctx2
    in
        convert digest
genDigest :: Word32 -> BS.ByteString -> BS.ByteString
genDigest challenge cookie =
    let ctx0 = hashInitWith MD5
        ctx1 = hashUpdate ctx0 cookie
        ctx2 = hashUpdate ctx1 (CS.pack (show challenge))
        digest = hashFinalize ctx2
    in
        convert digest
genDigest challenge cookie =
    let ctx0 = hashInitWith MD5
        ctx1 = hashUpdate ctx0 cookie
        ctx2 = hashUpdate ctx1 (CS.pack (show challenge))
        digest = hashFinalize ctx2
    in
        convert digest