Issuing single-use Discount Codes would be the best way to accomplish this.
When you set up each discount, you can paste in a list of Discount Codes, so when you Submit the new discount, a series of identical discounts will be created -- one for each code in the list you pasted. If you also set this up with Max. Use Count = 1, each code in the list would be valid for only a single use, making it futile for anyone to share their code with others after they've used it.
Be sure to save a separate record of each Discount Codes list in a separate text file if you need it for reference, because the list of Discount Codes you paste in will not be retained in a list format in our system once you Submit the new discount.