~3cpre~3estring licenseText ~3d SHA256Hash~28licenseText~29~3cbr /~3eRSACryptoServiceProvider rsa ~3d new RSACryptoServiceProvider~28~29~3b~3cbr /~[login to view URL]~[login to view URL]~28~[login to view URL]~22~29~29~3b~3cbr /~3e~3cbr /~3e// this is the easiest example~3cbr /~3e// you can sign something more complex~2c e.g. serialized graph of license objects~3cbr /~3ebyte~5b~5d licenseData ~3d [login to view URL]~28licenseText~29~3b~3cbr /~3ebyte~5b~5d signature ~3d [login to view URL]~28licenseData~2c new [login to view URL]~28~29~29~3b~3cbr /~[login to view URL]~28~[login to view URL]~22~2c [login to view URL]~28signature~29~29~3b~3cbr /~3e~3cbr /~3e~3cbr /~3e~3cbr /~3epublic static string SHA256Hash~28string input~29~3cbr /~3e{~3cbr /~3e return [login to view URL]~[login to view URL]~28~[login to view URL]~[login to view URL]~28input~29~29~[login to view URL]~28~22-~22~2c ~22~22~29~3b~3cbr /~3e}~3c/pre~3e