• Lvxferre@mander.xyz
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    10 days ago

    OK… here’s some dumb bash shit.

    #!/bin/bash
    i=0; z=0
    while [[ $i -le 1000000000000 ]]; do
    	o=$(echo "lvxferre/Hello+Fediverse+$i" | sha256sum)
    	if [[ $o =~ ^($z) ]]; then
    		echo "$i: $o"
    		declare -g z="$z""0"
    		fi
    	if [[ $i == *000000 ]]; then
    		echo "$(expr $i / 1000000)M combinations tried..."
    		fi
    	i=$[$i+1]
    	done
    

    Feel free to use it. Just make sure to change lvxferre/Hello+Fediverse+ to something else.

    What it does: it generates the SHA256sum for strings starting with whatever you want, and ending in a number, between 0 and 10¹². Then if it finds one starting with “z” zeroes, it prints it alongside the number; then it looks for strings with an additional zero at the start. Each million tests it’ll also print some output so you know that the script didn’t freeze.

    • Lvxferre@mander.xyz
      link
      fedilink
      arrow-up
      1
      ·
      9 days ago

      Update: so far my best string was lvxferre/Hello+Fediverse+2393194, yielding 0000006a 48...

      I also did some simple optimisations of the code. Basically “the least you do, the faster it’ll be”.

      i=7100000
      while true; do
      	o=$(echo "lvxferre/Hello+Fediverse+$i" | sha256sum)
      	if [[ "$o" == 00000* ]]; then echo "$o $i"; fi
      	if [[ "$i" == *00000 ]]; then echo "tried $i combinations..."; fi
      	i=$[$i+1]
      	done
      

      Now it’ll show results with more than five leading zeroes, and print a message every 100k tries (to resume later on).

      My machine is a potato, mind you. I don’t expect to get into the leaderboard. Still, I’m doing this as a bash exercise.