{"id":17650680,"url":"https://github.com/sebhoss/bc-clj","last_synced_at":"2025-05-07T07:08:56.180Z","repository":{"id":9350003,"uuid":"11201043","full_name":"sebhoss/bc-clj","owner":"sebhoss","description":"Clojure wrapper for Bouncy Castle","archived":false,"fork":false,"pushed_at":"2016-05-14T20:28:57.000Z","size":40,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-25T22:43:18.602Z","etag":null,"topics":["bouncycastle","clojure"],"latest_commit_sha":null,"homepage":null,"language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"wtfpl","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sebhoss.png","metadata":{"files":{"readme":"README.textile","changelog":null,"contributing":"CONTRIBUTING.textile","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-07-05T14:12:07.000Z","updated_at":"2019-08-13T15:23:13.000Z","dependencies_parsed_at":"2022-08-28T08:40:48.425Z","dependency_job_id":null,"html_url":"https://github.com/sebhoss/bc-clj","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sebhoss%2Fbc-clj","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sebhoss%2Fbc-clj/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sebhoss%2Fbc-clj/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sebhoss%2Fbc-clj/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sebhoss","download_url":"https://codeload.github.com/sebhoss/bc-clj/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242930123,"owners_count":20208405,"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":["bouncycastle","clojure"],"created_at":"2024-10-23T11:39:14.824Z","updated_at":"2025-03-10T21:31:01.066Z","avatar_url":"https://github.com/sebhoss.png","language":"Clojure","funding_links":[],"categories":[],"sub_categories":[],"readme":"h1. bc-clj \"!https://travis-ci.org/sebhoss/bc-clj.png!\":https://travis-ci.org/sebhoss/bc-clj \"!http://www.ohloh.net/p/bc-clj/widgets/project_thin_badge.gif!\":https://www.ohloh.net/p/bc-clj/\n\np. Clojure wrapper for \"Bouncy Castle\":http://www.bouncycastle.org/ \n\n\nh2. Usage\n\np. The library lives under @bouncycastle@ and is divided into the following namespaces and functions:\n\nh3. digest/\n\np. Digests such as @gost3411@, @md2@, @md4@, @md5@, @ripemd128@, @ripemd160@, @ripemd256@, @ripemd320@, @sha1@, @sha224@, @sha256@, @sha384@, @sha512@, @sha3@, @tiger@, @whirepool@. All functions expect an byte-array as input and return a new byte-array as output. Have a look at the \"tests\":https://github.com/sebhoss/bc-clj/blob/master/src/test/clojure/bouncycastle/digest_test.clj to see how these functions work.\n\nh3. hmac/\n\np. HMAC implementation based on the digests defined above. Again all functions operate on byte-arrays. Take a look at the \"tests\":https://github.com/sebhoss/bc-clj/blob/master/src/test/clojure/bouncycastle/hmac_test.clj for details.\n\nh3. encoding/\n\np. Provides functions to encode byte-arrays into a @hex@- or @base64@ string.\n\nh3. key-generator/\n\np. Provides @(generate-key)@ to generate a symmetric key and @(generate-keypair)@ to generate a public/private key-pair. Both need an algorithm name and optionally the key-strength in bit and optionally a source of randomness. The \"tests\":https://github.com/sebhoss/bc-clj/blob/master/src/test/clojure/bouncycastle/key_generator_test.clj show how to use the function.\n\nh2. Integration\n\nh3. Maven\n\nbc. \u003cdependencies\u003e\n  \u003cdependency\u003e\n    \u003cgroupId\u003ecom.github.sebhoss\u003c/groupId\u003e\n    \u003cartifactId\u003ebc-clj\u003c/artifactId\u003e\n    \u003cversion\u003e[2.0.0,3.0.0)\u003c/version\u003e\n  \u003c/dependency\u003e\n\u003c/dependencies\u003e\n\nh3. Leiningen\n\nbc. [com.github.sebhoss/bc-clj \"[2.0.0,3.0.0)\"]\n\nh2. License\n\np. This program is free software. It comes without any warranty, to the extent permitted by applicable law. You can redistribute it and/or modify it under the terms of the Do What The Fuck You Want To Public License, Version 2, as published by Sam Hocevar. See \"http://www.wtfpl.net/\":http://www.wtfpl.net/ for more details.\n\nh2. Alternatives\n\np. In case you're looking for something else, try:\n\n* \"https://bitbucket.org/tebeka/clj-digest\":https://bitbucket.org/tebeka/clj-digest\n* \"https://github.com/ray1729/clj-message-digest\":https://github.com/ray1729/clj-message-digest\n* \"https://github.com/franks42/clj.security.message-digest\":https://github.com/franks42/clj.security.message-digest\n* \"https://github.com/xsc/pandect\":https://github.com/xsc/pandect\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsebhoss%2Fbc-clj","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsebhoss%2Fbc-clj","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsebhoss%2Fbc-clj/lists"}