"take a while to crack"? How do you exactly imagine performing cracking in this context? Cracking a code in the way you imply (brute force?) involves lots of attempts.
When faced with interactive network login, this is feasible - the attempts are cheap, you can automatically perform millions of login attempts at practically no cost.
In this context, you'd have to send millions of identical physical letters until one gets through. How do you imagine going that? Getting a truck of blank letters, using an army of printers and robots to fill them in and pack and throw into mail boxes? You'd have to distribute your attack among thousands of geographically distributed post offices, otherwise you'd overwhelm the one, the mailbox would immediately overflow.
We're talking of physical reality. Brute force cracking attacks are mostly tied to the domain of virtual stuff unless you're talking about really short codes (like 2 digit code, or, in the case of e.g. suitcase locks, 3/4 digits). I doubt they make the codes so short here.
About getting one digit wrong - you can always make the code somewhat redundant, making use of error correction codes.