https://github.com/juliacrypto/sha.jl
A performant, 100% native-julia SHA1, SHA2, and SHA3 implementation
Science Score: 23.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
5 of 29 committers (17.2%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (9.3%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
A performant, 100% native-julia SHA1, SHA2, and SHA3 implementation
Basic Info
Statistics
- Stars: 49
- Watchers: 8
- Forks: 36
- Open Issues: 5
- Releases: 10
Topics
Metadata Files
README.md
SHA
Setup
Enter the Julia package manager by typing ] into your REPL. Then type:
julia
(@v1.6) pkg> add SHA
Usage
```julia julia> using SHA
julia> bytes2hex(sha256("test")) "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08" ```
Each exported function (at the time of this writing, SHA-1, SHA-2 224, 256, 384 and 512, and SHA-3 224, 256, 384 and 512 functions are implemented) takes in either an Vector{UInt8}, a ByteString or an IO object. This makes it trivial to checksum a file:
```julia shell> cat /tmp/test.txt test julia> using SHA
julia> open("/tmp/test.txt") do f sha2_256(f) end 32-element Vector{UInt8}: 0x9f 0x86 0xd0 0x81 0x88 0x4c 0x7d 0x65 ⋮ 0x5d 0x6c 0x15 0xb0 0xf0 0x0a 0x08 ```
Note the lack of a newline at the end of /tmp/text.txt. Julia automatically inserts a newline before the julia> prompt.
Due to the colloquial usage of sha256 to refer to sha2_256, convenience functions are provided, mapping shaxxx() function calls to sha2_xxx(). For SHA-3, no such colloquialisms exist and the user must use the full sha3_xxx() names.
shaxxx() takes AbstractString and array-like objects (NTuple and Vector) with elements of type UInt8.
Note that, at the time of this writing, the SHA3 code is not optimized, and as such is roughly an order of magnitude slower than SHA2. Pull requests are welcome.
Owner
- Name: JuliaCrypto
- Login: JuliaCrypto
- Kind: organization
- Location: Everywhere
- Repositories: 8
- Profile: https://github.com/JuliaCrypto
Cryptography made easy in Julia
GitHub Events
Total
- Issues event: 6
- Watch event: 1
- Delete event: 3
- Issue comment event: 20
- Push event: 12
- Pull request review event: 3
- Pull request review comment event: 2
- Pull request event: 16
- Fork event: 1
- Create event: 3
Last Year
- Issues event: 6
- Watch event: 1
- Delete event: 3
- Issue comment event: 20
- Push event: 12
- Pull request review event: 3
- Pull request review comment event: 2
- Pull request event: 16
- Fork event: 1
- Create event: 3
Committers
Last synced: 9 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Elliot Saba | s****t@g****m | 38 |
| woclass | g****t@w****n | 32 |
| Tony Kelman | t****y@k****t | 8 |
| Yichao Yu | y****2@g****m | 8 |
| Mus M | m****m@o****m | 7 |
| dependabot[bot] | 4****] | 4 |
| Jake Bolewski | j****i@g****m | 4 |
| Dilum Aluthge | d****m@a****m | 4 |
| Ian Butterworth | i****h@g****m | 4 |
| immoschuett | 8****t | 3 |
| Andreas Noack | a****n@g****m | 2 |
| Iain Dunning | i****g@g****m | 2 |
| Keno Fischer | k****o@a****u | 2 |
| Logan Kilpatrick | 2****3@g****m | 2 |
| Lyndon White | o****x@u****u | 2 |
| Steven G. Johnson | s****j@m****u | 2 |
| ranjanan | b****n@g****m | 2 |
| Guido Kraemer | g****r | 2 |
| Lilith Hafner | L****r@g****m | 1 |
| Jaka Smrekar | v****x@o****m | 1 |
| Daniel C. Jones | d****s@c****u | 1 |
| Jakob Nybo Nissen | j****n@g****m | 1 |
| Julia TagBot | 5****t | 1 |
| Kristoffer Carlsson | k****n@c****e | 1 |
| Max Horn | m****x@q****e | 1 |
| Rafael Fourquet | f****l@g****m | 1 |
| Sacha Verweij | s****a@s****u | 1 |
| chris-b1 | c****k@g****m | 1 |
| 张实唯 | y****w@g****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 35
- Total pull requests: 90
- Average time to close issues: 7 months
- Average time to close pull requests: about 1 month
- Total issue authors: 24
- Total pull request authors: 33
- Average comments per issue: 2.31
- Average comments per pull request: 2.29
- Merged pull requests: 77
- Bot issues: 0
- Bot pull requests: 4
Past Year
- Issues: 2
- Pull requests: 12
- Average time to close issues: 40 minutes
- Average time to close pull requests: 3 days
- Issue authors: 1
- Pull request authors: 4
- Average comments per issue: 0.5
- Average comments per pull request: 2.0
- Merged pull requests: 8
- Bot issues: 0
- Bot pull requests: 1
Top Authors
Issue Authors
- inkydragon (8)
- gdkrmr (3)
- DilumAluthge (2)
- jakobnissen (2)
- erich-9 (2)
- davidanthoff (1)
- kmsquire (1)
- andrewcooke (1)
- omus (1)
- staticfloat (1)
- Cyvadra (1)
- simonbyrne (1)
- Robert-j7 (1)
- tkelman (1)
- pixel27 (1)
Pull Request Authors
- inkydragon (27)
- staticfloat (13)
- yuyichao (7)
- dependabot[bot] (7)
- musm (7)
- IanButterworth (5)
- Keno (3)
- martinholters (3)
- immoschuett (3)
- gdkrmr (2)
- jakebolewski (2)
- oxinabox (2)
- tkelman (2)
- IainNZ (2)
- ghost (2)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- julia 40 total
- Total dependent packages: 39
- Total dependent repositories: 39
- Total versions: 3
juliahub.com: SHA
A performant, 100% native-julia SHA1, SHA2, and SHA3 implementation
- Documentation: https://docs.juliahub.com/General/SHA/stable/
- License: MIT
-
Latest release: 0.7.0
published about 3 years ago
Rankings
Dependencies
- actions/checkout v2 composite
- codecov/codecov-action v1 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/julia-processcoverage v1 composite
- julia-actions/julia-runtest v1 composite
- julia-actions/setup-julia latest composite
- julia-actions/setup-julia v1 composite
- JuliaRegistries/TagBot v1 composite