Skip to content

Instantly share code, notes, and snippets.

@atoponce
Last active July 4, 2024 19:02
Show Gist options
  • Save atoponce/cb5f988adffdba5566a6e936fc1b0feb to your computer and use it in GitHub Desktop.
Save atoponce/cb5f988adffdba5566a6e936fc1b0feb to your computer and use it in GitHub Desktop.
#!python3
gpus = 12 # rtx 4090
rate = 164.1 * 10**9 * gpus # md5
mins = 60 # seconds
hours = 3600 # seconds
days = 86400 # seconds
weeks = 86400 * 7 # seconds
months = 86400 * 30 # seconds
years = 86400 * 365.25 # seconds
print("| Words | PGP | simple1024 | 4-dice EFF | Monero | BIPS39, S/KEY | EFF Fandom | Webplaces | Diceware, EFF long | Diceware 8k | 6-dice Diceware | Niceware | 7-dice Diceware |")
print("| :---: | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |")
for i in range(1, 11):
print("| {} ".format(i), end="")
for j in [512, 1024, 1296, 1626, 2048, 4000, 4096, 7776, 8192, 46656, 65536, 279936]:
time = round(j ** i / rate)
if (time > years * 10e39):
print("| {}dvg years ".format(round(time / (years * 10e39))), end="")
elif (time > years * 10e36):
print("| {}uvg years ".format(round(time / (years * 10e36))), end="")
elif (time > years * 10e33):
print("| {}vg years ".format(round(time / (years * 10e33))), end="")
elif (time > years * 10e30):
print("| {}no years ".format(round(time / (years * 10e30))), end="")
elif (time > years * 10e27):
print("| {}oc years ".format(round(time / (years * 10e27))), end="")
elif (time > years * 10e24):
print("| {}sp years ".format(round(time / (years * 10e24))), end="")
elif (time > years * 10e21):
print("| {}sx years ".format(round(time / (years * 10e21))), end="")
elif (time > years * 10e18):
print("| {}qn years ".format(round(time / (years * 10e18))), end="")
elif (time > years * 10e15):
print("| {}qd years ".format(round(time / (years * 10e15))), end="")
elif (time > years * 10e12):
print("| {}tn years ".format(round(time / (years * 10e12))), end="")
elif (time > years * 10e9):
print("| {}bn years ".format(round(time / (years * 10e9))), end="")
elif (time > years * 10e6):
print("| {}m years ".format(round(time / (years * 10e6))), end="")
elif (time > years * 10e3):
print("| {}k years ".format(round(time / (years * 10e3))), end="")
elif (time > years):
print("| {} years ".format(round(time / years)), end="")
elif (time > months):
print("| {} months ".format(round(time / months)), end="")
elif (time > weeks):
print("| {} weeks ".format(round(time / weeks)), end="")
elif (time > days):
print("| {} days ".format(round(time / days)), end="")
elif (time > hours):
print("| {} hours ".format(round(time / hours)), end="")
elif (time > mins):
print("| {} mins ".format(round(time / mins)), end="")
elif (time > 0):
print("| {} secs ".format(round(time)), end="")
else:
print("| instantly ", end="")
print("|")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment