Create Compact Hash Digests of R Objects
Implementation of a function 'digest()' for the creation
of hash digests of arbitrary R objects (using the 'md5', 'sha-1', 'sha-256',
'crc32', 'xxhash', 'murmurhash' and 'spookyhash' algorithms) permitting easy
comparison of R language objects, as well as functions such as'hmac()' to
create hash-based message authentication code. Please note that this package
is not meant to be deployed for cryptographic purposes for which more
comprehensive (and widely tested) libraries such as 'OpenSSL' should be
Compact hash representations of arbitrary R objects
The digest package provides a principal function
digest() for the
creation of hash digests of arbitrary R objects (using the md5, sha-1,
sha-256, crc32, xxhash, murmurhash and spookyhash algorithms) permitting
easy comparison of R language objects.
As R can serialize any object, we can run
digest() on any object:
R> library(digest) R> digest(trees)  "12412cbfa6629c5c80029209b2717f08" R> digest(lm(log(Height) ~ log(Girth), data=trees))  "e25b62de327d079b3ccb98f3e96987b1" R> digest(summary(lm(log(Height) ~ log(Girth), data=trees)))  "86c8c979ee41a09006949e2ad95feb41" R>
By using the hash sum, which is very likely to be unique, to identify an underlying object or calculation, one can easily caching strategies for which the digest package is somewhat widely used.
A small number of additional functions is available:
sha1()for numerally stable hashsums,
hmac()for hashed message authentication codes based on a key,
AES()for Advanced Encryption Standard block ciphers.
Please note that this package is not meant to be deployed for cryptographic purposes for which more comprehensive (and widely tested) libraries such as OpenSSL should be used.
The package is on CRAN and can be installed via a standard
As we rely on the tinytest package, the already-installed package can also be verified via
at any later point.
Dirk Eddelbuettel, with contributions by Antoine Lucas, Jarek Tuszynski, Henrik Bengtsson, Simon Urbanek, Mario Frasca, Bryan Lewis, Murray Stokely, Hannes Muehleisen, Duncan Murdoch, Jim Hester, Wush Wu, Qiang Kou, Thierry Onkelinx, Michel Lang, Viliam Simko, Kurt Hornik, Radford Neal, and Kendon Bell.
GPL (>= 2)
Functions in digest
|digest||Create hash function digests for arbitrary R objects|
|sha1||Calculate a SHA1 hash of an object|
|hmac||compute a hash-based message authentication code|
|digest2int||hash arbitrary string to integer|
|AES||Create AES block cipher object|
|makeRaw||Create a raw object|
Vignettes of digest
Last month downloads
|License||GPL (>= 2)|
|Packaged||2019-07-04 13:26:33.39935 UTC; edd|
|Date/Publication||2019-07-04 14:40:03 UTC|
Include our badge in your README