{"id":237,"date":"2014-03-19T13:09:30","date_gmt":"2014-03-19T12:09:30","guid":{"rendered":"http:\/\/sourceblog.org\/wordpress\/?p=237"},"modified":"2014-03-20T12:06:19","modified_gmt":"2014-03-20T11:06:19","slug":"lizenzschluessel-in-c-sharp","status":"publish","type":"post","link":"https:\/\/sourceblog.org\/wordpress\/2014\/03\/lizenzschluessel-in-c-sharp\/","title":{"rendered":"Lizenzschl\u00fcssel in c-sharp"},"content":{"rendered":"<p style=\"text-align: left;\">Immer wieder kommt die Frage auf wie man\u00a0Lizenzschl\u00fcssel f\u00fcr das eigene Programm in c# erstellt. Auf diese Frage wird im nachfolgenden Beispielhaft eingehen.<\/p>\n<p>Als erstes sollte man sich \u00fcber die Anforderungen Gedanken machen.<\/p>\n<ul>\n<li>Entwicklung eines Algorithmus f\u00fcr den Lizenzschl\u00fcssel. Das hat den Vorteil, dass jeder nach diesem erstellte Schl\u00fcssel als g\u00fcltig anerkannt wird. Eine Anpassung des Programms f\u00fcr weitere Lizenzschl\u00fcssel entf\u00e4llt.<\/li>\n<li>Lizenzschl\u00fcssel nach immer gleichen Muster erzeugen<\/li>\n<\/ul>\n<p>In diesem Fall wird der Schl\u00fcssel nach folgendem Muster generiert.<\/p>\n<ol>\n<li>erzeuge eine Zahl zwischen 1000 und 9999 per Zufall das wird der erster Block\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-243   aligncenter\" style=\"color: #333333; font-style: normal; line-height: 24.375px;\" alt=\"generierung erster Block\" src=\"https:\/\/sourceblog.org\/wordpress\/wp-content\/uploads\/2014\/03\/key1-300x60.png\" width=\"300\" height=\"60\" srcset=\"https:\/\/sourceblog.org\/wordpress\/wp-content\/uploads\/2014\/03\/key1-300x60.png 300w, https:\/\/sourceblog.org\/wordpress\/wp-content\/uploads\/2014\/03\/key1.png 381w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<\/li>\n<li>Bilde Quersumme des ersten Blocks<a href=\"https:\/\/sourceblog.org\/wordpress\/wp-content\/uploads\/2014\/03\/key2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-246 aligncenter\" alt=\"quersumme bilden\" src=\"https:\/\/sourceblog.org\/wordpress\/wp-content\/uploads\/2014\/03\/key2-300x176.png\" width=\"300\" height=\"176\" srcset=\"https:\/\/sourceblog.org\/wordpress\/wp-content\/uploads\/2014\/03\/key2-300x176.png 300w, https:\/\/sourceblog.org\/wordpress\/wp-content\/uploads\/2014\/03\/key2.png 348w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/li>\n<li>F\u00fclle die Quersumme mit Zufallszahlen bis 4 Stellen auf das wird der zweite Block \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0<a href=\"https:\/\/sourceblog.org\/wordpress\/wp-content\/uploads\/2014\/03\/key3.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-249 aligncenter\" alt=\"zweiten Block bis 4 stellen auff\u00fcllen\" src=\"https:\/\/sourceblog.org\/wordpress\/wp-content\/uploads\/2014\/03\/key3-300x116.png\" width=\"300\" height=\"116\" srcset=\"https:\/\/sourceblog.org\/wordpress\/wp-content\/uploads\/2014\/03\/key3-300x116.png 300w, https:\/\/sourceblog.org\/wordpress\/wp-content\/uploads\/2014\/03\/key3.png 485w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/li>\n<li>Addiere ersten Block mit seiner Quersumme und bilde daraus die Quersumme \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0<img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-252 aligncenter\" style=\"color: #333333; font-style: normal; line-height: 24.375px;\" alt=\"ersten block mit quersumme addieren und quersumme bilden\" src=\"https:\/\/sourceblog.org\/wordpress\/wp-content\/uploads\/2014\/03\/key41-300x169.png\" width=\"300\" height=\"169\" srcset=\"https:\/\/sourceblog.org\/wordpress\/wp-content\/uploads\/2014\/03\/key41-300x169.png 300w, https:\/\/sourceblog.org\/wordpress\/wp-content\/uploads\/2014\/03\/key41.png 369w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/li>\n<li>F\u00fclle diese Quersumme mit\u00a0Zufallszahlen wie in Punkt 3 bis 4 Stellen auf das wird\u00a0der dritte Block<\/li>\n<\/ol>\n<p>Anschlie\u00dfen werden alle drei Blocke mit Bindestrichen verbunden, sodass sich f\u00fcr den Lizenzschl\u00fcssel nachfolgendes Muster ergibt.<\/p>\n<p>xxxx-xxxx-xxxx<\/p>\n<p>Im eigentlichen Programm kann dann gepr\u00fcft werden, ob sich aus dem ersten Block mittels des Algorithmus die Anfangszahlen der beiden anderen Bl\u00f6cke erzeugen lassen. Au\u00dferdem sollte mann nat\u00fcrlich die L\u00e4nge und das Muster des Schl\u00fcssels \u00fcberpr\u00fcfen.<\/p>\n<p>&nbsp;<\/p>\n<p>Achtung!!! Bitte haltet eure Algorithmen zur Generierung geheim und bedenkt das der in diesem Block verwendete nur als Denkansto\u00df zu werten ist und nicht f\u00fcr den Praxiseinsatz taugt.<\/p>\n<p>&nbsp;<\/p>\n<p><a title=\"Quellcode\" href=\"https:\/\/sourceblog.org\/wordpress\/wp-content\/uploads\/2014\/03\/Program.txt\" target=\"_blank\">Program<\/a>\u00a0Code zur Erstellung von Schl\u00fcsseln.<\/p>\n<p><a href=\"https:\/\/sourceblog.org\/wordpress\/wp-content\/uploads\/2014\/03\/Auswertung.txt\" target=\"_blank\">Auswertung<\/a>\u00a0Code zur Auswertung des eingegebenen Schl\u00fcssels.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Immer wieder kommt die Frage auf wie man\u00a0Lizenzschl\u00fcssel f\u00fcr das eigene Programm in c# erstellt. Auf diese Frage wird im nachfolgenden Beispielhaft eingehen. Als erstes sollte man sich \u00fcber die Anforderungen Gedanken machen. Entwicklung eines Algorithmus f\u00fcr den Lizenzschl\u00fcssel. Das &hellip; <a href=\"https:\/\/sourceblog.org\/wordpress\/2014\/03\/lizenzschluessel-in-c-sharp\/\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[20,5],"tags":[22,32,33,34,35],"class_list":["post-237","post","type-post","status-publish","format-standard","hentry","category-entwicklung","category-tut","tag-c","tag-csharp","tag-key","tag-lizenz","tag-schluessel"],"_links":{"self":[{"href":"https:\/\/sourceblog.org\/wordpress\/wp-json\/wp\/v2\/posts\/237","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sourceblog.org\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sourceblog.org\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sourceblog.org\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sourceblog.org\/wordpress\/wp-json\/wp\/v2\/comments?post=237"}],"version-history":[{"count":19,"href":"https:\/\/sourceblog.org\/wordpress\/wp-json\/wp\/v2\/posts\/237\/revisions"}],"predecessor-version":[{"id":263,"href":"https:\/\/sourceblog.org\/wordpress\/wp-json\/wp\/v2\/posts\/237\/revisions\/263"}],"wp:attachment":[{"href":"https:\/\/sourceblog.org\/wordpress\/wp-json\/wp\/v2\/media?parent=237"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sourceblog.org\/wordpress\/wp-json\/wp\/v2\/categories?post=237"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sourceblog.org\/wordpress\/wp-json\/wp\/v2\/tags?post=237"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}