Definitely! Although it's based off encryption algorithms. If the users are utilizing the methods with both a unique passcode and salt it should be safe even if someone were to reflect the assembly. Brute forcing would not be fun.
I guess to continue that logic. Be sure to obfuscate the code calling Simple Serials.
Looks like they deleted my link regardless of relevance, but I get why. I used private key encryption algorithms in order to create my serial number library. I believe this to be much better than simple pattern matching. If you're interested I can provide more details on the actual method, but if you want to save some time, there's a link in my profile to get the .NET assembly I've written.