{"id":15010904,"url":"https://github.com/haskell/entropy","last_synced_at":"2025-12-11T23:30:23.868Z","repository":{"id":556500,"uuid":"10018279","full_name":"haskell/entropy","owner":"haskell","description":"Easy entropy source for Haskell users. ","archived":false,"fork":false,"pushed_at":"2025-01-02T12:52:04.000Z","size":112,"stargazers_count":28,"open_issues_count":7,"forks_count":50,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-10-25T05:21:17.473Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://hackage.haskell.org/package/entropy","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/haskell.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-05-12T19:21:56.000Z","updated_at":"2025-10-22T19:22:05.000Z","dependencies_parsed_at":"2024-11-06T00:03:17.901Z","dependency_job_id":"bcb8a4c8-25a9-42f1-a46a-94639b465299","html_url":"https://github.com/haskell/entropy","commit_stats":{"total_commits":101,"total_committers":29,"mean_commits":"3.4827586206896552","dds":0.4356435643564357,"last_synced_commit":"5d0c71ef2b95b2f6314fbb6a24be7bb39dba99bb"},"previous_names":["tommd/entropy"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/haskell/entropy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haskell%2Fentropy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haskell%2Fentropy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haskell%2Fentropy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haskell%2Fentropy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/haskell","download_url":"https://codeload.github.com/haskell/entropy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haskell%2Fentropy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27503530,"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","status":"online","status_checked_at":"2025-12-04T02:00:07.142Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-09-24T19:37:06.339Z","updated_at":"2025-12-11T23:30:23.845Z","avatar_url":"https://github.com/haskell.png","language":"Haskell","readme":"# Introduction\n\nThis package allows Haskell users to easily acquire entropy for use in critical\nsecurity applications by calling out to either windows crypto api, unix/linux's\n`getrandom` and `/dev/urandom`. Hardware RNGs (currently RDRAND, patches\nwelcome) are supported via the `hardwareRNG` function.\n\n## Quick Start\n\nTo simply get random bytes use `getEntropy`:\n\n```\n#!/usr/bin/env cabal\n{- cabal:\n    build-depends: base, entropy, bytestring\n-}\nimport qualified Data.ByteString as BS\nimport           System.Entropy\n\nmain :: IO ()\nmain = print . BS.unpack =\u003c\u003c getEntropy 16\n-- Example output: [241,191,215,193,225,27,121,244,16,155,252,41,131,38,6,100]\n```\n\n## Faster Randoms from Hardware\n\nMost x86 systems include a hardware random number generator.  These can be\nfaster but require more trust in the platform:\n\n```\nimport qualified Data.ByteString as B\nimport           System.Entropy\n\neitherRNG :: Int -\u003e IO B.ByteString\neitherRNG sz = maybe (getEntropy sz) pure =\u003c\u003c getHardwareEntropy sz\n\nmain :: IO ()\nmain = print . B.unpack =\u003c\u003c eitherRNG 32\n```\n\nThis package supports Windows, {li,u}nix, QNX, and has preliminary support for HaLVM.\n\nTypically tested on Linux and OSX - testers are as welcome as patches.\n\n[![Build Status](https://travis-ci.org/TomMD/entropy.svg?branch=master)](https://travis-ci.org/TomMD/entropy)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhaskell%2Fentropy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhaskell%2Fentropy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhaskell%2Fentropy/lists"}