{"id":13706704,"url":"https://github.com/eddelbuettel/digest","last_synced_at":"2025-05-14T19:05:57.463Z","repository":{"id":3173314,"uuid":"14911222","full_name":"eddelbuettel/digest","owner":"eddelbuettel","description":"R package to create compact hash digests of R objects","archived":false,"fork":false,"pushed_at":"2025-01-07T12:57:07.000Z","size":2432,"stargazers_count":117,"open_issues_count":9,"forks_count":48,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-05-03T07:03:35.948Z","etag":null,"topics":["cran","hash-digest","r","r-package"],"latest_commit_sha":null,"homepage":"https://eddelbuettel.github.io/digest","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eddelbuettel.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-12-04T01:48:12.000Z","updated_at":"2025-04-21T15:22:11.000Z","dependencies_parsed_at":"2023-07-05T20:46:00.650Z","dependency_job_id":"70f80245-95d1-458c-9702-e112382f5920","html_url":"https://github.com/eddelbuettel/digest","commit_stats":{"total_commits":540,"total_committers":39,"mean_commits":"13.846153846153847","dds":"0.36851851851851847","last_synced_commit":"29dc91728a9ad40b4afe556d6c1a328853befa34"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eddelbuettel%2Fdigest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eddelbuettel%2Fdigest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eddelbuettel%2Fdigest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eddelbuettel%2Fdigest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eddelbuettel","download_url":"https://codeload.github.com/eddelbuettel/digest/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254076850,"owners_count":22010611,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cran","hash-digest","r","r-package"],"created_at":"2024-08-02T22:01:05.933Z","updated_at":"2025-05-14T19:05:54.505Z","avatar_url":"https://github.com/eddelbuettel.png","language":"C++","funding_links":[],"categories":["C++"],"sub_categories":[],"readme":"## digest: Compact hash representations of arbitrary R objects\n\n[![ci](https://github.com/eddelbuettel/digest/workflows/ci/badge.svg)](https://github.com/eddelbuettel/digest/actions?query=workflow%3Aci)\n[![License](http://img.shields.io/badge/license-GPL%20%28%3E=%202%29-brightgreen.svg?style=flat)](http://www.gnu.org/licenses/gpl-2.0.html)\n[![CRAN](https://www.r-pkg.org/badges/version/digest)](https://cran.r-project.org/package=digest)\n[![Dependencies](https://tinyverse.netlify.app/badge/digest)](https://cran.r-project.org/package=digest)\n[![Debian package](https://img.shields.io/debian/v/r-cran-digest/sid?color=green)](https://packages.debian.org/sid/r-cran-digest)\n[![r-universe](https://eddelbuettel.r-universe.dev/badges/digest)](https://eddelbuettel.r-universe.dev/digest)\n[![Downloads (monthly)](https://cranlogs.r-pkg.org/badges/digest?color=brightgreen)](https://www.r-pkg.org:443/pkg/digest)\n[![Downloads (total)](https://cranlogs.r-pkg.org/badges/grand-total/digest?color=brightgreen)](https://www.r-pkg.org:443/pkg/digest)\n[![CRAN use](https://jangorecki.gitlab.io/rdeps/digest/CRAN_usage.svg?sanitize=true)](https://cran.r-project.org/package=digest)\n[![CRAN indirect](https://jangorecki.gitlab.io/rdeps/digest/indirect_usage.svg?sanitize=true)](https://cran.r-project.org/package=digest)\n[![BioConductor use](https://jangorecki.gitlab.io/rdeps/digest/BioC_usage.svg?sanitize=true)](https://cran.r-project.org/package=digest)\n[![Code Coverage](https://img.shields.io/codecov/c/github/eddelbuettel/digest/master.svg)](https://app.codecov.io/gh/eddelbuettel/digest)\n[![Last Commit](https://img.shields.io/github/last-commit/eddelbuettel/digest)](https://github.com/eddelbuettel/digest)\n[![Documentation](https://img.shields.io/badge/documentation-is_here-blue)](https://eddelbuettel.github.io/digest/)\n\nCompact hash representations of arbitrary R objects\n\n### Overview\n\nThe digest package provides a principal function `digest()` for the creation\nof hash digests of arbitrary R objects (using the md5, sha-1, sha-256, crc32,\nxxhash, murmurhash, spookyhash, blake3, crc32c, xxh3\\_64, and xxh3\\_128\nalgorithms) permitting easy comparison of R language objects.\n\nExtensive documentation is available at the [package documentation site](https://eddelbuettel.github.io/digest/).\n\n#### Examples\n\nAs R can serialize any object, we can run `digest()` on any object:\n\n```r\nR\u003e library(digest)\nR\u003e digest(trees)\n[1] \"12412cbfa6629c5c80029209b2717f08\"\nR\u003e digest(lm(log(Height) ~ log(Girth), data=trees))\n[1] \"e25b62de327d079b3ccb98f3e96987b1\"\nR\u003e digest(summary(lm(log(Height) ~ log(Girth), data=trees)))\n[1] \"86c8c979ee41a09006949e2ad95feb41\"\nR\u003e\n```\n\nBy using the hash sum, which is very likely to be unique, to identify an\nunderlying object or calculation, one can easily implement caching strategies.\nThis is a common use of the digest package.\n\n#### Other Functions\n\nA small number of additional functions is available:\n\n- `sha1()` for numerically stable hashsums,\n- `hmac()` for hashed message authentication codes based on a key,\n- `AES()` for Advanced Encryption Standard block ciphers,\n- `getVDigest()` as a function generator for vectorised versions.\n\n### Note\n\nPlease note that this package is not meant to be deployed for\ncryptographic purposes. More comprehensive and widely tested\nlibraries such as OpenSSL should be used instead.\n\n### Installation\n\nThe package is on [CRAN](https://cran.r-project.org) and can be installed\nvia a standard\n\n```r\ninstall.packages(\"digest\")\n```\n\n### Continued Testing\n\nAs we rely on the [tinytest](https://cran.r-project.org/package=tinytest) package, the\nalready-installed package can also be verified via\n\n```r\ntinytest::test_package(\"digest\")\n```\n\nat any later point.\n\n### Author\n\nDirk Eddelbuettel, with contributions by Antoine Lucas, Jarek Tuszynski,\nHenrik Bengtsson, Simon Urbanek, Mario Frasca, Bryan Lewis, Murray Stokely,\nHannes Muehleisen, Duncan Murdoch, Jim Hester, Wush Wu, Qiang Kou, Thierry\nOnkelinx, Michel Lang, Viliam Simko, Kurt Hornik, Radford Neal, Kendon Bell,\nMatthew de Queljoe, Ion Suruceanu, Bill Denney, Dirk Schumacher, Winston\nChang, Dean Attali, and Michael Chirico.\n\n### License\n\nGPL (\u003e= 2)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feddelbuettel%2Fdigest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feddelbuettel%2Fdigest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feddelbuettel%2Fdigest/lists"}