Cracking Help
#1
Need some help with some training examples that I'm doing.

I have a list of hashes and was given the beginning of each password (ex. My-Password-) and told that each one ends with 4 digits.  They can be cracked by using the mask My-Password-?d?d?d?d. I understand the ?d represents an unknown digit and I'm assuming I need to create a password list containing the password with all possible digit combinations and run it against the hashes but not sure where to go from there.  Is there an easy way to create the password list or is there a command that will take My-Password-?d?d?d?d and automatically run it against the list of hashes?

Thanks in advance!
#2
if you know parts of the password, you can treat them as salts. like:

hash1:My-Password-
hash2:My-Password-
hash3:My-Password-

and then you can use -m 20 in combination with -a 3 ?d?d?d?d for example, if the hash is md5