Man page - zdigest(3)
Packages contains this manual
- zlistx(3)
- ziflist(3)
- zloop(3)
- zuuid(3)
- zsys(3)
- zmonitor(3)
- zpoller(3)
- zmsg(3)
- zframe(3)
- zhttp_server(3)
- zdir(3)
- ztimerset(3)
- zauth(3)
- zhttp_response(3)
- zhttp_request(3)
- zclock(3)
- zgossip(3)
- zconfig(3)
- zhttp_client(3)
- zhash(3)
- zarmour(3)
- zhttp_server_options(3)
- zosc(3)
- zsock(3)
- zdigest(3)
- zstr(3)
- zdir_patch(3)
- zargs(3)
- zbeacon(3)
- zrex(3)
- zproxy(3)
- zcert(3)
- zhashx(3)
- zactor(3)
- czmq(7)
- zfile(3)
- ztrie(3)
- zlist(3)
- zproc(3)
- zcertstore(3)
- zchunk(3)
apt-get install libczmq-dev
Manual
ZDIGEST
NAMESYNOPSIS
DESCRIPTION
EXAMPLE
AUTHORS
RESOURCES
COPYRIGHT
NOTES
NAME
zdigest - Class for provides hashing functions (SHA-1 at present)
SYNOPSIS
// This is a
stable class, and may not change except for emergencies. It
// is provided in stable builds.
// Constructor - creates new digest object, which you use to
build up a
// digest by repeatedly calling zdigest_update() on chunks
of data.
CZMQ_EXPORT zdigest_t *
zdigest_new (void);
// Destroy a
digest object
CZMQ_EXPORT void
zdigest_destroy (zdigest_t **self_p);
// Add buffer
into digest calculation
CZMQ_EXPORT void
zdigest_update (zdigest_t *self, const byte *buffer, size_t
length);
// Return final
digest hash data. If built without crypto support,
// returns NULL.
CZMQ_EXPORT const byte *
zdigest_data (zdigest_t *self);
// Return final
digest hash size
CZMQ_EXPORT size_t
zdigest_size (zdigest_t *self);
// Return digest
as printable hex string; caller should not modify nor
// free this string. After calling this, you may not use
zdigest_update()
// on the same digest. If built without crypto support,
returns NULL.
CZMQ_EXPORT char *
zdigest_string (zdigest_t *self);
// Self test of
this class.
CZMQ_EXPORT void
zdigest_test (bool verbose);
Please add '@interface' section in './../src/zdigest.c'.
DESCRIPTION
The zdigest class generates a hash from zchunks of data. The current algorithm is SHA-1, chosen for speed. We are aiming to generate a unique digest for a file, and there are no security issues in this use case.
The current code depends on OpenSSL, which might be replaced by hard coded SHA-1 implementation to reduce build dependencies.
EXAMPLE
From zdigest_test method .
byte *buffer =
(byte *) zmalloc (1024);
memset (buffer, 0xAA, 1024);
zdigest_t
*digest = zdigest_new ();
assert (digest);
zdigest_update (digest, buffer, 1024);
const byte *data = zdigest_data (digest);
assert (data [0] == 0xDE);
assert (data [1] == 0xB2);
assert (data [2] == 0x38);
assert (data [3] == 0x07);
assert (streq (zdigest_string (digest),
"DEB23807D4FE025E900FE9A9C7D8410C3DDE9671"));
zdigest_destroy (&digest);
freen (buffer);
#if defined
(__WINDOWS__)
zsys_shutdown();
#endif
AUTHORS
The czmq manual was written by the authors in the AUTHORS file.
RESOURCES
Main web site:
Report bugs to the email < zeromq-dev@lists.zeromq.org [1] >
COPYRIGHT
Copyright (c) the Contributors as noted in the AUTHORS file. This file is part of CZMQ, the high-level C binding for 0MQ: http://czmq.zeromq.org. This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. LICENSE included with the czmq distribution.
NOTES
|
1. |
zeromq-dev@lists.zeromq.org |
mailto:zeromq-dev@lists.zeromq.org