sha256-sentence

SHA256 sentence: discover a SHA256 checksum that matches a sentence's description of hex digit words.

https://github.com/joelparkerhenderson/sha256-sentence

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (5.1%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

SHA256 sentence: discover a SHA256 checksum that matches a sentence's description of hex digit words.

Basic Info
  • Host: GitHub
  • Owner: joelparkerhenderson
  • Language: Rust
  • Default Branch: main
  • Homepage:
  • Size: 18.6 KB
Statistics
  • Stars: 21
  • Watchers: 3
  • Forks: 1
  • Open Issues: 0
  • Releases: 0
Created over 2 years ago · Last pushed 11 months ago
Metadata Files
Readme Code of conduct Citation

README.md

SHA256 sentence

"The SHA256 for this sentence begins with: one, eight, two, a, seven, c and nine."

Inspired by @lauriewired post

Inspired by @humblehack post

Discussion on Hacker News

This repo has Rust implementations of a coding challenge that searches for a sentence that describes its own SHA256 checksum.

This repo contains two Rust complete projects.

Rust with basics

The /rust-with-basics project directory demonstrates:

  • Iteration via the standard library. This is without parallelization.

  • Permutation via the itertools crate. This is without replacement.

  • A local system time variable. This is without multi-thread safety.

Output:

milliseconds: 3, digest: "0b62c3f1bf41205f419fd37a3e028e65a054d6ba913b10711ef53073e9096c85", starts: "0b62", sentence: "The SHA256 for this sentence begins with: zero, b, six and two." milliseconds: 54, digest: "0ed8f8c1e8ab4f84ee6503a39a9973e57cc6f7065862ac69c34a6126708b6269", starts: "0ed8f", sentence: "The SHA256 for this sentence begins with: zero, e, d, eight and f." milliseconds: 8288, digest: "182a7c930b0e5227ff8d24b5f4500ff2fa3ee1a57bd35e52d98c6e24c2749ae0", starts: "182a7c9", sentence: "The SHA256 for this sentence begins with: one, eight, two, a, seven, c and nine." ```

Rust with extras

The /rust-with-extras project directory demonstrates:

  • Parallel iteration via the rayon crate.

  • Permutation with replacement via Rosetta code permutation_with_replacement.

  • A global system time variable via once_cell single-initialization multi-thread safety.

Output:

milliseconds: 14, digest: "0b62c3f1bf41205f419fd37a3e028e65a054d6ba913b10711ef53073e9096c85", starts: "0b62", sentence: "The SHA256 for this sentence begins with: zero, b, six and two." milliseconds: 698, digest: "f0dfc81ccecc48f6ee0a50ced43f3abe78d5c4ab2ccaa4f582d93d103ff7db90", starts: "f0dfc", sentence: "The SHA256 for this sentence begins with: f, zero, d, f and c." milliseconds: 823, digest: "0ed8f8c1e8ab4f84ee6503a39a9973e57cc6f7065862ac69c34a6126708b6269", starts: "0ed8f", sentence: "The SHA256 for this sentence begins with: zero, e, d, eight and f." milliseconds: 3077, digest: "443bd2f109b49619afa402953babe11b0d95eac073129a04ce89c37ca5c3e253", starts: "443bd2", sentence: "The SHA256 for this sentence begins with: four, four, three, b, d and two." milliseconds: 125985, digest: "182a7c930b0e5227ff8d24b5f4500ff2fa3ee1a57bd35e52d98c6e24c2749ae0", starts: "182a7c9", sentence: "The SHA256 for this sentence begins with: one, eight, two, a, seven, c and nine." …

Owner

  • Name: Joel Parker Henderson
  • Login: joelparkerhenderson
  • Kind: user
  • Location: California

Software developer. Technology consultant. Creator of GitAlias.com, NumCommand.com, SixArm.com, and many open source projects.

Citation (CITATION.cff)

cff-version: 1.2.0
title: SHA256 sentence
message: >-
  If you use this work and you want to cite it,
  then you can use the metadata from this file.
type: software
authors:
  - given-names: Joel Parker
    family-names: Henderson
    email: joel@joelparkerhenderson.com
    affiliation: joelparkerhenderson.com
    orcid: 'https://orcid.org/0009-0000-4681-282X'
identifiers:
  - type: url
    value: 'https://github.com/joelparkerhenderson/sha256-sentence/'
    description: SHA256 sentence
repository-code: 'https://github.com/joelparkerhenderson/sha256-sentence/'
abstract: >-
  SHA256 sentence
license: See license file

GitHub Events

Total
  • Push event: 1
Last Year
  • Push event: 1

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Dependencies

rust-with-basics/Cargo.lock cargo
  • addr2line 0.21.0
  • adler 1.0.2
  • async-trait 0.1.73
  • backtrace 0.3.69
  • block-buffer 0.10.4
  • bytes 1.5.0
  • cc 1.0.83
  • cfg-if 1.0.0
  • cpufeatures 0.2.9
  • crypto-common 0.1.6
  • digest 0.10.7
  • either 1.9.0
  • generic-array 0.14.7
  • gimli 0.28.0
  • hex 0.4.3
  • itertools 0.11.0
  • libc 0.2.147
  • memchr 2.6.3
  • miniz_oxide 0.7.1
  • object 0.32.1
  • pin-project-lite 0.2.13
  • proc-macro2 1.0.66
  • quote 1.0.33
  • rustc-demangle 0.1.23
  • sha2 0.10.7
  • sha256 1.4.0
  • syn 2.0.32
  • tokio 1.32.0
  • typenum 1.16.0
  • unicode-ident 1.0.11
  • version_check 0.9.4
rust-with-basics/Cargo.toml cargo
rust-with-extras/Cargo.lock cargo
  • addr2line 0.21.0
  • adler 1.0.2
  • async-trait 0.1.73
  • autocfg 1.1.0
  • backtrace 0.3.69
  • block-buffer 0.10.4
  • bytes 1.5.0
  • cc 1.0.83
  • cfg-if 1.0.0
  • cpufeatures 0.2.9
  • crossbeam-channel 0.5.8
  • crossbeam-deque 0.8.3
  • crossbeam-epoch 0.9.15
  • crossbeam-utils 0.8.16
  • crypto-common 0.1.6
  • digest 0.10.7
  • either 1.9.0
  • generic-array 0.14.7
  • gimli 0.28.0
  • hermit-abi 0.3.2
  • hex 0.4.3
  • itertools 0.11.0
  • libc 0.2.147
  • memchr 2.6.3
  • memoffset 0.9.0
  • miniz_oxide 0.7.1
  • num_cpus 1.16.0
  • object 0.32.1
  • pin-project-lite 0.2.13
  • proc-macro2 1.0.66
  • quote 1.0.33
  • rayon 1.7.0
  • rayon-core 1.11.0
  • rustc-demangle 0.1.23
  • scopeguard 1.2.0
  • sha2 0.10.7
  • sha256 1.4.0
  • syn 2.0.32
  • tokio 1.32.0
  • typenum 1.16.0
  • unicode-ident 1.0.11
  • version_check 0.9.4
rust-with-extras/Cargo.toml cargo