mirror of
https://github.com/rootzoll/raspiblitz.git
synced 2025-02-24 22:58:43 +01:00
66 lines
No EOL
1.7 KiB
Python
Executable file
66 lines
No EOL
1.7 KiB
Python
Executable file
#!/usr/bin/python3
|
|
|
|
import sys
|
|
from mnemonic import Mnemonic
|
|
|
|
# display config script info
|
|
if len(sys.argv) <= 1 or sys.argv[1] == "-h" or sys.argv[1] == "help":
|
|
print("tool for seed words")
|
|
print("blitz.mnemonic.py generate")
|
|
print("blitz.mnemonic.py add6x4 \"[SEEDWORDS-SPACE-SEPERATED]\"")
|
|
print("blitz.mnemonic.py test \"[SEEDWORDS-SPACE-SEPERATED]\"")
|
|
sys.exit(1)
|
|
|
|
def dump(obj):
|
|
for attr in dir(obj):
|
|
print("obj.%s = %r" % (attr, getattr(obj, attr)))
|
|
|
|
#######################
|
|
# GENERATE SEED WORDS
|
|
#######################
|
|
def generate():
|
|
|
|
mnemo = Mnemonic("english")
|
|
seedwords = mnemo.generate(strength=256)
|
|
|
|
print("seedwords='" + seedwords + "'")
|
|
return seedwords
|
|
|
|
# add a 6x4 formatted version to the output
|
|
def add6x4(seedwords):
|
|
|
|
wordlist = list(seedwords.split(" "))
|
|
seed_words_6x4 = ""
|
|
for i in range(0, len(wordlist)):
|
|
if i % 6 == 0 and i != 0:
|
|
seed_words_6x4 = seed_words_6x4 + "\n"
|
|
single_word = str(i + 1) + ":" + wordlist[i]
|
|
while len(single_word) < 12:
|
|
single_word = single_word + " "
|
|
seed_words_6x4 = seed_words_6x4 + single_word
|
|
print("seedwords6x4='" + seed_words_6x4 + "'")
|
|
|
|
#######################
|
|
# TEST SEED WORDS
|
|
#######################
|
|
def test(words):
|
|
|
|
mnemo = Mnemonic("english")
|
|
if mnemo.check(words):
|
|
print("valid=1")
|
|
else:
|
|
print("valid=0")
|
|
|
|
def main():
|
|
if sys.argv[1] == "generate":
|
|
add6x4(generate())
|
|
elif sys.argv[1] == "add6x4":
|
|
add6x4(sys.argv[2])
|
|
elif sys.argv[1] == "test":
|
|
test(sys.argv[2])
|
|
else:
|
|
# UNKNOWN PARAMETER
|
|
print("error='unknown parameter'")
|
|
|
|
if __name__ == '__main__':
|
|
main() |