[HN Gopher] Show HN: I made a C program to create a vanity SHA-1...
___________________________________________________________________
Show HN: I made a C program to create a vanity SHA-1 hash for a
text file
Author : keepamovin
Score : 39 points
Date : 2025-03-28 10:55 UTC (3 days ago)
(HTM) web link (gist.github.com)
(TXT) w3m dump (gist.github.com)
| keepamovin wrote:
| After experimenting with cycling punctuation, and random
| capitalization I hit on the idea to use each word as a bit and
| map the original version of the word to 0 and the title-case-
| toggled version of the word to 1.
|
| Then just use the text file as a "counter nonce" and count from 0
| until we find a counter that hashes to the vanity prefix we want.
|
| The advantage of this is flipping the capitalization of the first
| letter of each word doesn't drastically alter the visual
| appearance of the file (tho it may alter semantics!), and you get
| an easy to understand amount of entropy (number of states) to
| walk through.
|
| The C version linked only supports counting up to ~4 billion but
| it could be easily extended. A JS version using BigInt can go
| unlimited.
|
| For reference the included example text took a surprising 2
| billion iterations to discover the correct 8 digit hash which is
| about what you'd expect from random (i.e., half the state space
| of 16*8 = (2*4)*8)
| susam wrote:
| The SHA-256 hash of this sentence begins with 0573e7473.
| orphea wrote:
| The SHA256 for this sentence begins with: one, eight, two, a,
| seven, c and nine.
| tmountain wrote:
| Oh boy, here we go...
| xeckr wrote:
| Nice one.
| kazinator wrote:
| Don't bother applying here if your github doesn't look like this:
| $ git log --oneline deadbeef5 (HEAD -> master): Revised
| documentation of frobozz widget. 0cafef00d scrot_compress:
| fixed rare recursion case. 5ca1ab1e1 image_convolve: use
| thread pool for better performance.
| coolThingsFirst wrote:
| what?
| frutiger wrote:
| Read the commit sha prefixes as English
| celegans25 wrote:
| Look at the hashes of the commits
| jagged-chisel wrote:
| Sadly, you won't get any senior applicants if you're mistaking
| the website for the tool.
| kazinator wrote:
| Here, that touch is necessary for a hint of realism.
| actinium226 wrote:
| I don't get the last one?
| ruffrey wrote:
| "scalable"
| coolThingsFirst wrote:
| Interesting, also this quote is as interesting as the code:
|
| "Your job, throughout your entire life, is to disappoint as many
| people as it takes to avoid disappointing yourself."
| metadat wrote:
| That took a second to process and sink in.
|
| Added to my shameful, neurotic HN profile.. haha, thank you!
| saulpw wrote:
| Cool! I made a multithreaded version about 10 years that works
| for binary files like .zip files: https://github.com/century-
| arcade/src/tree/master/tools/vain...
___________________________________________________________________
(page generated 2025-03-31 23:01 UTC)