<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Πρώτα Βήματα - Βάσεις δεδομένων</title><link>https://www.dotnetzone.gr:443/cs/forums/73/ShowForum.aspx</link><description>Για όσους κάνουν τα πρώτα τους βήματα στην Microsoft Access ή τον SQL Server, ή γενικότερα στη θεωρία βάσεων δεδομένων.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Encrypt Password Field</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/41455.aspx</link><pubDate>Thu, 10 Apr 2008 10:36:28 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:41455</guid><dc:creator>JohnL</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/41455.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=41455</wfw:commentRss><description>Ντροπή μου! &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-10.gif" alt="Embarrassed" /&gt; Τελικά είχα ξεχάσει ένα μέγεθος μεταβλητής στο Stored Procedure. Έτσι ο SQL Server της έδινε (το default υποθέτω) μέγεθος 1, και προφανώς 20 bytes ήταν αδύνατο να ισούνται με 1 &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-4.gif" alt="Stick out tongue" /&gt;.... Ο παραπάνω κώδικας είναι σωστός και τον αφήνω ενδεικτικά μήπως το χρειαστεί κάποιος μελλοντικά!&lt;br&gt;&lt;br&gt;Και μερικές ερωτήσεις:&lt;br&gt;&lt;br&gt;Για το verification κάνω τη σύγκριση των hashes μέσα στο Stored Procedure και επιστρέφω 0 ή 1 ανάλογα αν είναι επιτυχής ή όχι. Μπορώ να κάνω κάτι καλύτερο?&lt;br&gt;&lt;br&gt;Έχει σημασία ποιον αλγόριθμο κωδικοποίησης χρησιμοποιήσω? Πώς κατατάσσονται απο πλευράς ασφάλειας?&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: Encrypt Password Field</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/41454.aspx</link><pubDate>Thu, 10 Apr 2008 05:25:29 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:41454</guid><dc:creator>JohnL</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/41454.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=41454</wfw:commentRss><description>Αποφάσισα να χρησιμοποιήσω τον 2ο τρόπο με τα Hashes, μια και είναι πιο γενικός και εφαρμόζεται παντού.&lt;br&gt;&lt;br&gt;Έφτιαξα ένα stored procedure που παίρνει ως input username &amp;amp; το hash του password και αν δεν υπάρχουν τα αποθηκεύει στη βάση. Όμως μάλλον κάτι κάνω λάθος στην αποθήκευση του hash γιατί δε μου επιστρέφει το σωστό μετά. Προσπαθώ να το αποθηκεύσω ως binary.&lt;br&gt;&lt;br&gt;VB.NET:&lt;br&gt;&lt;br&gt;&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;        &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Dim&lt;/span&gt; msConn &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;As&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;New&lt;/span&gt; SqlConnection(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Data Source=.\SQLEXPRESS;Initial Catalog=sampledb;Integrated Security=True;"&lt;/span&gt;)&lt;br&gt;        &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Dim&lt;/span&gt; mycmd &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;As&lt;/span&gt; SqlCommand&lt;br&gt;&lt;br&gt;        mycmd &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;New&lt;/span&gt; SqlCommand(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"AddUser"&lt;/span&gt;, msConn)&lt;br&gt;        mycmd.CommandType &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; CommandType.StoredProcedure&lt;br&gt;&lt;br&gt;        mycmd.Parameters.&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Add&lt;/span&gt;(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"@UserName"&lt;/span&gt;, SqlDbType.NVarChar).Value &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; txtUserName.Text&lt;br&gt;        mycmd.Parameters.&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Add&lt;/span&gt;(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"@Password"&lt;/span&gt;, SqlDbType.Binary).Value &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; Hash(txtInput.Text)&lt;br&gt;&lt;br&gt;        mycmd.Connection.Open()&lt;br&gt;        mycmd.ExecuteNonQuery()&lt;br&gt;        mycmd.Connection.Close()&lt;/span&gt;&lt;br&gt;&lt;br&gt;H Function Hash(ByVal str as String) As Byte() παίρνει το password σε String και επιστρέφει το hash σε Byte Array...&lt;br&gt;&lt;br&gt;Πώς μπορώ να περάσω σωστά το binary στον SQL Server?&lt;br&gt;</description></item><item><title>Απ: Encrypt Password Field</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/41444.aspx</link><pubDate>Wed, 09 Apr 2008 20:46:35 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:41444</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/41444.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=41444</wfw:commentRss><description>&lt;P&gt;Αν χρησιμοποιείς SQL Server 2005 μπορείς να κρυπτογραφήσεις τη στήλη σε επίπεδο βάσης, με κλειδιά τα οποία αποθηκεύονται και προστατεύονται στη βάση. Ρίξε μία ματιά στο &lt;A href="http://technet.microsoft.com/en-us/library/aa337557.aspx"&gt;Encryption How To Topics&lt;/A&gt;. Αν δεν έχεις SQL Server 2005 ο καλύτερος τρόπος είναι να δημιουργήσεις ένα hash από το password του χρήστη και να αποθηκεύσεις στη βάση μόνο το hash. Κάθε φορά που ο χρήστης δίνει το password, δημιουργείς ξανά το hash και συγκρίνεις την τιμή του με αυτή που έχεις αποθηκεύσει. Μπορείς να χρησιμοποιήσεις τις κλάσεις του System.Security.Cryptography namespace για να το κάνεις αυτό, οι οποίες υλοποιούν μερικούς πολύ ισχυρούς αλγόριθμους. Ρίξε μία ματιά στο &lt;A href="http://msdn2.microsoft.com/en-us/library/f9ax34y5(VS.80).aspx"&gt;Ensuring Data Integrity with Hash Codes&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Τέλος, αν θέλεις να κρυπτογραφήσεις τα passwords των χρηστών ενός web site μπορείς να χρησιμοποιήσεις τον Authentication provider του ASP.NET ο οποίος δημιουργεί τους δικούς του πίνακες για τους χρήστες και αναλαμβάνει και την κρυπτογράφηση του password ... μεταξύ πολλών άλλων ευκολιών.&lt;/P&gt;</description></item><item><title>Encrypt Password Field</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/41442.aspx</link><pubDate>Wed, 09 Apr 2008 18:54:52 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:41442</guid><dc:creator>JohnL</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/41442.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=41442</wfw:commentRss><description>Σε μία βάση δεδομένων, έχω φτιάξει ένα πίνακα που περιέχει ονόματα και κωδικούς χρηστών ώστε να μπορούν να κανουν login.&lt;br&gt;&lt;br&gt;Σκέφτηκα να κωδικοποιήσω κάπως τον κωδικό, ώστε να μην είναι τόσο εύκολο να διαβαστούν, για λόγους ασφαλείας. Πώς μπορώ να υλοποιήσω κάτι τέτοιο?&lt;br&gt;</description></item></channel></rss>