get_passphrase.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #!/usr/bin/env python3
  2. import sys,os
  3. pn = os.path.abspath(os.path.dirname(sys.argv[0]))
  4. os.chdir(os.path.dirname(os.path.dirname(pn)))
  5. sys.path[0] = os.curdir
  6. from mmgen.common import *
  7. g.color = True
  8. cmd_args = opts.init({
  9. 'text': {
  10. 'desc': '',
  11. 'usage': '',
  12. 'options': """
  13. -P, --passwd-file=f a
  14. -p, --hash-preset=p b
  15. -r, --usr-randchars=n c
  16. -L, --label=l d
  17. -m, --keep-label e
  18. """
  19. }})
  20. from mmgen.crypto import get_passphrase,get_new_passphrase,get_hash_preset_from_user
  21. from mmgen.wallet import Wallet
  22. def crypto():
  23. desc = 'test data'
  24. pw = get_new_passphrase(data_desc=desc,hash_preset=g.dfl_hash_preset,passwd_file=None)
  25. msg(f'==> got new passphrase: [{pw}]\n')
  26. pw = get_passphrase(data_desc=desc,passwd_file=None)
  27. msg(f'==> got passphrase: [{pw}]\n')
  28. hp = get_hash_preset_from_user(data_desc=desc)
  29. msg(f'==> got hash preset: [{hp}]')
  30. hp = get_hash_preset_from_user(data_desc=desc)
  31. msg(f'==> got hash preset: [{hp}]')
  32. def seed():
  33. for n in range(1,3):
  34. msg(f'------- NEW WALLET {n} -------\n')
  35. w1 = Wallet()
  36. msg(f'\n==> got pw,preset,lbl: [{w1.ssdata.passwd}][{w1.ssdata.hash_preset}][{w1.ssdata.label}]\n')
  37. for n in range(1,3):
  38. msg(f'------- PASSCHG {n} -------\n')
  39. w2 = Wallet(ss=w1,passchg=True)
  40. msg(f'\n==> got pw,preset,lbl: [{w2.ssdata.passwd}][{w2.ssdata.hash_preset}][{w2.ssdata.label}]\n')
  41. msg(f'------- WALLET FROM FILE -------\n')
  42. w3 = Wallet(fn='test/ref/FE3C6545-D782B529[128,1].mmdat') # passphrase: 'reference password'
  43. msg(f'\n==> got pw,preset,lbl: [{w3.ssdata.passwd}][{w3.ssdata.hash_preset}][{w3.ssdata.label}]\n')
  44. globals()[cmd_args[0]]()