diff --git a/mmgen/addr.py b/mmgen/addr.py index 8dab142a..0ec42cfb 100755 --- a/mmgen/addr.py +++ b/mmgen/addr.py @@ -79,9 +79,8 @@ def generate_addrs(seed, addrnums, opts): t_addrs,num,pos,out = len(addrnums),0,0,[] addrnums.sort() # needed only if caller didn't sort - ws = 'key' if 'keys' in opts['gen_what'] else 'address' - if t_addrs == 1: wp = ws - else: wp = ws+"s" if ws == 'key' else ws+"es" + ws,wp = ('key','keys') if 'keys' in opts['gen_what'] \ + else ('address','addresses') while pos != t_addrs: seed = sha512(seed).digest() @@ -104,7 +103,7 @@ def generate_addrs(seed, addrnums, opts): out.append(eval("addrinfo("+addrinfo_args+")")) - qmsg("\rGenerated %s %s%s"%(t_addrs, wp, " "*15)) + qmsg("\rGenerated %s %s%s"%(t_addrs, (ws if t_addrs == 1 else wp), " "*15)) return out diff --git a/mmgen/crypto.py b/mmgen/crypto.py index 52144523..54d31f38 100755 --- a/mmgen/crypto.py +++ b/mmgen/crypto.py @@ -376,7 +376,7 @@ def mmgen_encrypt(data,what="data",hash_preset='',opts={}): m = "default" if hp == '3' else "user-requested" vmsg("Encrypting %s" % what) qmsg("Using %s hash preset of '%s'" % (m,hp)) - passwd = get_new_passphrase("passphrase",{}) + passwd = get_new_passphrase(what, {}) key = make_key(passwd, salt, hp) enc_d = encrypt_data(sha256(nonce+data).digest() + nonce + data, key, int(hexlify(iv),16), what=what) @@ -390,7 +390,7 @@ def mmgen_decrypt(data,what="data",hash_preset='',opts={}): hp = hash_preset or get_hash_preset_from_user('3',what) m = "default" if hp == '3' else "user-requested" qmsg("Using %s hash preset of '%s'" % (m,hp)) - passwd = get_mmgen_passphrase("Enter passphrase: ",{}) + passwd = get_mmgen_passphrase(("Enter passphrase for %s: " % what),{}) key = make_key(passwd, salt, hp) dec_d = decrypt_data(enc_d, key, int(hexlify(iv),16), what) if dec_d[:sha256_len] == sha256(dec_d[sha256_len:]).digest(): diff --git a/mmgen/main_passchg.py b/mmgen/main_passchg.py index 906057a4..034da7bb 100755 --- a/mmgen/main_passchg.py +++ b/mmgen/main_passchg.py @@ -69,8 +69,10 @@ label,metadata,hash_preset,salt,enc_seed = get_data_from_wallet(infile) seed_id,key_id = metadata[:2] # Repeat on incorrect pw entry -prompt = "Enter %spassphrase: " % ("" - if 'keep_old_passphrase' in opts else "old ") +prompt = "Enter {}{} wallet passphrase: ".format( + ("" if 'keep_old_passphrase' in opts else "old "), + g.proj_name + ) while True: passwd = get_mmgen_passphrase(prompt,{}) key = make_key(passwd, salt, hash_preset) @@ -100,7 +102,8 @@ else: if 'keep_old_passphrase' in opts: msg("Keeping old passphrase by user request") else: - new_passwd = get_new_passphrase("new passphrase", opts) + new_passwd = get_new_passphrase( + "{} wallet".format(g.proj_name), opts, True) if new_passwd == passwd: qmsg("Passphrase is unchanged") diff --git a/mmgen/main_walletgen.py b/mmgen/main_walletgen.py index 4a16cae7..cdc9f2b2 100755 --- a/mmgen/main_walletgen.py +++ b/mmgen/main_walletgen.py @@ -140,7 +140,7 @@ salt = sha256(get_random(128,opts)).digest()[:g.salt_len] qmsg(cmessages['choose_wallet_passphrase'] % opts['hash_preset']) -passwd = get_new_passphrase("{} wallet passphrase".format(g.proj_name), opts) +passwd = get_new_passphrase("{} wallet".format(g.proj_name), opts) key = make_key(passwd, salt, opts['hash_preset']) diff --git a/mmgen/util.py b/mmgen/util.py index 4a489fc9..ba4bf1cb 100755 --- a/mmgen/util.py +++ b/mmgen/util.py @@ -286,22 +286,21 @@ def parse_address_list(arg,sep=","): return sorted(set(ret)) -def get_new_passphrase(what, opts): +def get_new_passphrase(what, opts, passchg=False): + w = "{}passphrase for {}".format("new " if passchg else "", what) if 'passwd_file' in opts: - pw = " ".join(_get_words_from_file(opts['passwd_file'],what)) + pw = " ".join(_get_words_from_file(opts['passwd_file'],w)) elif 'echo_passphrase' in opts: - pw = " ".join(_get_words_from_user(("Enter %s: " % what), opts)) + pw = " ".join(_get_words_from_user("Enter {}: ".format(w), opts)) else: for i in range(g.passwd_max_tries): - pw = " ".join(_get_words_from_user(("Enter %s: " % what),opts)) - pw2 = " ".join(_get_words_from_user(("Repeat %s: " % what),opts)) + pw = " ".join(_get_words_from_user("Enter {}: ".format(w),opts)) + pw2 = " ".join(_get_words_from_user("Repeat passphrase: ",opts)) if g.debug: print "Passphrases: [%s] [%s]" % (pw,pw2) if pw == pw2: - vmsg("%ss match" % what.capitalize()) - break - else: - msg("%ss do not match" % what.capitalize()) + vmsg("Passphrases match"); break + else: msg("Passphrases do not match") else: msg("User failed to duplicate passphrase in %s attempts" % g.passwd_max_tries)