Generating License Keys in 2019
build-system.fman.io
build-system.fman.io
Then you don't leak information because it's all layered, encoded BEFORE you generate the human inputtable text, and can contain any information you want.
1. RSA nowadays is a poor choice, better Elliptic Curve algorithms.
2. Keeping in code some blocks like "isLicenseValid()" is a faster help for reverse engineering attacks, because the crackers can simply skip that code block and you're done.
3. Security might be improved by obfuscating + applying signature verification (performed online, not offline on client) + avoiding storing any relevant status about license verification/key on the system registry or drive. Do these steps on the fly, always. In conditions of poor networking, check if you've some evidence of previously working sessions (e.g. saved files, last used ones from your app, personal settings). If not, throw an error