﻿
{"id":406,"date":"2012-04-13T21:34:27","date_gmt":"2012-04-13T21:34:27","guid":{"rendered":"http:\/\/www.gencayyildiz.com\/blog\/?p=406"},"modified":"2012-04-19T21:11:06","modified_gmt":"2012-04-19T21:11:06","slug":"verileri-sifreleme-password-encryption","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/verileri-sifreleme-password-encryption\/","title":{"rendered":"Verileri \u015eifreleme (Password Encryption)"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>\u0130nternet kullan\u0131c\u0131lar\u0131 genellikle bir siteye \u00fcyelik i\u015flemi yaparken standart yap\u0131da bilgilerimizi sisteme kaydederiz.Ancak bu konuda baz\u0131 s\u0131k\u0131nt\u0131lar olabilir.Genellikle kullan\u0131c\u0131lar\u0131m\u0131z \u00fcye olaca\u011f\u0131 sisteme, banka, mail veya ba\u015fka \u00f6zel yerlerde kulland\u0131\u011f\u0131 \u015fifrelerin ayn\u0131s\u0131n\u0131 yazmaktad\u0131r.Asl\u0131nda bu durum site taraf\u0131 ve kullan\u0131c\u0131 i\u00e7in bir s\u0131k\u0131nt\u0131 te\u015fkil etmesede, veritaban\u0131 verilerinin 3. \u015fah\u0131slar\u0131n eline ge\u00e7mesi olas\u0131 bir durumdur.Bu durumda 3. \u015fah\u0131s kullan\u0131c\u0131lar\u0131n \u015fifrelerini \u00f6zel alanlarda kulland\u0131klar\u0131n\u0131 tahmin edebilir.O y\u00fczden veritaban\u0131nda \u015fifrelerin sakland\u0131\u011f\u0131 kolonu ayr\u0131 bir algoritmayla \u015fifrelemeliyiz.Bu g\u00fcvenlik \u00f6nlemini kendiniz bir \u015fifreleme algoritmas\u0131 olu\u015fturarak alabilirsiniz.Ancak \u00e7ok sa\u011flam bir \u015fifreleme algoritmas\u0131 olu\u015fturman\u0131z gerekmektedir.E\u011fer \u00e7abuk \u00e7\u00f6z\u00fclebilir bir \u015fifreleme algoritmas\u0131 yapacaksan\u0131z hi\u00e7 bula\u015fmaman\u0131z\u0131 tavsiye ederim.Bu olas\u0131 durumlar i\u00e7in, .NET bizlere bir ka\u00e7 \u015fifreleme algoritmas\u0131 sunuyor.<br \/>\n<!--more--><br \/>\n.NET&#8217;in bizlere sundu\u011fu iki t\u00fcrl\u00fc \u015fifreleme y\u00f6ntemini sizlere anlataca\u011f\u0131m.<br \/>\nMD5 ve SHA1 algoritmalar\u0131..<br \/>\nUfak bir uygulamayla ikisinide \u00e7ok rahat anlayacaks\u0131n\u0131z.<br \/>\n<a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2012\/04\/Sifreleme.png\"><img loading=\"lazy\" decoding=\"async\" title=\"Sifreleme\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2012\/04\/Sifreleme.png\" alt=\"\" width=\"488\" height=\"102\" \/><\/a><\/p>\n<p>Yukar\u0131daki gibi bir tasar\u0131m yap\u0131yorum.Anlad\u0131\u011f\u0131n\u0131z gibi TextBox nesnesine girilen metni, \u015eifrele Buttonuna t\u0131kland\u0131\u011f\u0131nda, se\u00e7ilen CheckBox&#8217;a g\u00f6re \u015fifreleyecek.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n    protected void Button1_Click(object sender, EventArgs e)\r\n    {\r\n        if (cbMd5.Checked)\r\n        {\r\n            Label1.Text = FormsAuthentication.HashPasswordForStoringInConfigFile(TextBox1.Text, &quot;md5&quot;);\r\n\/\/FormsAuthentication s\u0131n\u0131f\u0131n\u0131 kullanabilmek i\u00e7in sayfaya System.Web.Security namespaceini using etmeniz laz\u0131m.\r\n\/\/HashPasswordForStoringInConfigFile() metoduyla \u015fifrelenecek metini, \u015fifrelenecek format\u0131n\u0131 veriyoruz.\r\n        }\r\n        else if (cbSha1.Checked)\r\n        {\r\n            Label1.Text = FormsAuthentication.HashPasswordForStoringInConfigFile(TextBox1.Text, &quot;sha1&quot;);\r\n        }\r\n    }\r\n<\/pre>\n<hr \/>\n<p><a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2012\/04\/md5.png\"><img loading=\"lazy\" decoding=\"async\" title=\"md5\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2012\/04\/md5.png\" alt=\"\" width=\"563\" height=\"117\" \/><\/a><br \/>\n<a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2012\/04\/md5.png\"><br \/>\n<\/a><\/p>\n<hr \/>\n<p><a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2012\/04\/Sha1.png\"><img loading=\"lazy\" decoding=\"async\" title=\"Sha1\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2012\/04\/Sha1.png\" alt=\"\" width=\"577\" height=\"117\" \/><\/a><\/p>\n<hr \/>\n<p>Dikkat etmeniz gereken bir ka\u00e7 husus var.Bu \u015fifrelenen metninin \u015fifrelenmi\u015f hali SHA1 algoritmas\u0131nda &#8220;FDBD6BB912A84B5A2AA3AD0DBC59ED1F4C298814&#8221; olabilir.Ancak bu \u015fifrelenmi\u015f koddan geri &#8220;Gen\u00e7ay&#8221; kelimesini elde edemeyiz.Ayn\u0131 durum MD5 algoritmas\u0131 i\u00e7inde ge\u00e7erlidir.Bu durumda kullan\u0131c\u0131lar\u0131n\u0131z \u015fiflerini girdi\u011fi zaman, veritaban\u0131nda o \u015fifreyi oldu\u011fu gibi de\u011filde, \u015fifreledi\u011finiz formata g\u00f6re \u00e7evirip \u00f6yle aratt\u0131rman\u0131z gerekmektedir.<\/p>\n<p>Sonraki yaz\u0131lar\u0131mda g\u00f6r\u00fc\u015fmek \u00fczere&#8230;<br \/>\n\u0130yi \u00e7al\u0131\u015fmalar..<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>\u0130nternet kullan\u0131c\u0131lar\u0131 genellikle bir siteye \u00fcyelik i\u015flemi yaparken standart yap\u0131da bilgilerimizi sisteme kaydederiz.Ancak bu konuda baz\u0131 s\u0131k\u0131nt\u0131lar olabilir.Genellikle kullan\u0131c\u0131lar\u0131m\u0131z \u00fcye olaca\u011f\u0131 sisteme, banka, mail veya ba\u015fka \u00f6zel yerlerde kulland\u0131\u011f\u0131 \u015fifrelerin ayn\u0131s\u0131n\u0131 yazmaktad\u0131r.Asl\u0131nda bu durum&#46;&#46;&#46;<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[198,196,199,197],"class_list":["post-406","post","type-post","status-publish","format-standard","hentry","category-asp-net","tag-encryption","tag-formsauthentication","tag-hashpasswordforstoringinconfigfile","tag-password"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/406","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/comments?post=406"}],"version-history":[{"count":0,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/406\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=406"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=406"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=406"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}