My department works with the company's money. I instill an honesty policy in them every chance I get, even telling them if they need a stamp for a letter, let me bill them for it rather than take it, because stealing is wrong and is going to be fireable on the spot. I tell them to never give anyone a reason to not trust us.
That said, your guy stole from you.
Firing him was correct.
When you hire the next one, give him or her the right decisions before you leave them unattended. For instance, "no drugs, period, as you'll be fired. Call me if you need something for personal use, because taking without asking is stealing. I can always payroll deduct. Never give a person a reason to not trust you with their money and property. You're responsible for everything while I am gone so make me proud." Those comments are helpful but it still depends on the worker at the end of the day.
I hope the next hire goes good for you.