[C#, ASP.NET] Het encrypten van een textbox.

Pagina: 1
Acties:
  • 459 views

Acties:
  • 0 Henk 'm!

  • dENNtoet
  • Registratie: Oktober 2008
  • Laatst online: 12-10-2024
Hallo lieve Tweakertjes,

Voor dat ik mijn verhaal begin: Ik ben een echte n00b met programmeren.

Ik heb van school een project gekregen om een webwinkel te maken voor een bestaand bedrijf.
Nu moet het natuurlijk mogelijk zijn om mensen te laten registreren op de site. Dus ik heb nu een klein opzetje gemaakt met 3 textboxen waar men hun Voornaam, Username en Password kunnen invullen.
Als ze dat hebben gedaan moet dit worden weggeschreven naar een database (in dit geval een MS Access database).

Dit werkt.

Maar nu zou ik heel graag willen dat de wachtwoorden worden ge-encrypt vanwege obvious veiligheids regels. En dat als ik dus de access database open, de wachtwoorden niet te lezen zijn.

Ik heb mij al rot lopen zoeken op google, en heb wel wat kunnen vinden.. Maar het schijnt niet te werken, dus vandaar mijn noodkreet.. Help :)

Dit is mijn code wat ik tot nu toe heb:


public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string constring = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Loginpoging1\App_Data\login.mdb;Persist Security Info=False";
string voornaam = txt_voornaam.Text;
string username = txt_username.Text;
string password = txt_password.Text;
string SQLinvoegen = "INSERT INTO Users ([Voornaam], [Username], [Password]) VALUES ('" + voornaam + "','" + username + "'," + "'" + password + "')";
OleDbConnection dbconnectie = new OleDbConnection(constring);

try
{
dbconnectie.Open();
OleDbCommand cmd = new OleDbCommand(SQLinvoegen, dbconnectie);
int aantal = cmd.ExecuteNonQuery();
}
catch (Exception exc)
{
lbl_Uitvoer.Text = "Probleem met database." + exc.Message;
}
finally
{
dbconnectie.Close();
}


}


Acties:
  • 0 Henk 'm!

Verwijderd

je zou dit kunnen gebruiken:
select HASHBYTES('MD5', 'wachtwoord')

Ook zou je kijken naar de System.Security.Cryptography namespace van .NET. Is wel aardig wat info over te vinden.

Acties:
  • 0 Henk 'm!

  • dENNtoet
  • Registratie: Oktober 2008
  • Laatst online: 12-10-2024
Verwijderd schreef op maandag 12 oktober 2009 @ 22:25:
je zou dit kunnen gebruiken:
select HASHBYTES('MD5', 'wachtwoord')
Waar moet ik dat gebruiken? Ja sorry echt total n00b hoor :) Eerste jaar dat ik echt programmeren krijg op school.

Acties:
  • 0 Henk 'm!

  • roy-t
  • Registratie: Oktober 2004
  • Laatst online: 08-09 11:33
Je kunt gewoon inderdaad je favoriete algoritme uit System.Security.Cryptograhpy halen.

Je stopt het dan direct op die manier in de database en controleert bij het inloggen of "JouwFavoCryptoAlgo(txtPassword.text) == PaswoordVeldInDataBase :). Hier zul je verder zelf wel uit komen.

(Ik zou niet aan je database om hashbytes vragen via de Select HashBytes functie gebruiken omdat je dan eerst een extra roundtrip naar je database doet voordat je jouw data er in stopt).

Edit: nog wat meer noob proof informatie:

http://www.macronimous.co..._Password_Programming.asp tegenwoordig wordt aangeraden om ipv MD5 het SHA1 algoritme te gebruiken omdat dit moeilijker te kraken is.

[ Voor 19% gewijzigd door roy-t op 12-10-2009 22:35 ]

~ Mijn prog blog!


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op maandag 12 oktober 2009 @ 22:25:
je zou dit kunnen gebruiken:
select HASHBYTES('MD5', 'wachtwoord')
Bij mijn weten wordt HASHBYTES niet door Access ondersteund hoor :?

Waar jij naar op zoek bent, TS, in hashing ;)

Oh, en als je code post, gebruik dan a.u.b. code tags.

[ Voor 31% gewijzigd door RobIII op 12-10-2009 22:35 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 17-09 23:59

TeeDee

CQB 241

1. Je zou dat misschien aan de leraar kunnen vragen?
2. Ik zou gewoon lekker naar de eerder aangehaalde System.Security.Cryptography namespace kijken.
3. Hashbytes bestaat afaik niet in Access.

[ Voor 12% gewijzigd door TeeDee op 12-10-2009 22:34 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


Acties:
  • 0 Henk 'm!

Verwijderd

deze moet je in je sql gebruiken en zonder de select, op de plek waar nu password staat.

Acties:
  • 0 Henk 'm!

  • dENNtoet
  • Registratie: Oktober 2008
  • Laatst online: 12-10-2024
roy-t schreef op maandag 12 oktober 2009 @ 22:32:
Je kunt gewoon inderdaad je favoriete algoritme uit System.Security.Cryptograhpy halen.

Je stopt het dan direct op die manier in de database en controleert bij het inloggen of "JouwFavoCryptoAlgo(txtPassword.text) == PaswoordVeldInDataBase :). Hier zul je verder zelf wel uit komen.
Ok en hoe maak ik daar gebruik van in mijn code? Dus hoe encrypt ik hem ook daadwerkelijk, stel dat ik md5 encrypten wil gebruiken ?

Acties:
  • 0 Henk 'm!

Verwijderd

ow, ik was van mening dat Hashbytes wel in Access kon, mijn excuus.

Acties:
  • 0 Henk 'm!

Verwijderd

TeeDee schreef op maandag 12 oktober 2009 @ 22:33:
1. Je zou dat misschien aan de leraar kunnen vragen?
Denk niet dat Gerard dat weet.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
dENNtoet schreef op maandag 12 oktober 2009 @ 22:35:
[...]


Ok en hoe maak ik daar gebruik van in mijn code? Dus hoe encrypt ik hem ook daadwerkelijk, stel dat ik md5 encrypten wil gebruiken ?
Dat mag je dan zelf even uitpuzzelen. We zitten hier niet om je aan je handje te houden en de tijd tussen de reacties is waaaaay te kort om voor te doen dat je zelf ook maar uberhaupt iets gezocht, laat staan geprobeerd, hebt ;)
Verwijderd schreef op maandag 12 oktober 2009 @ 22:36:
[...]

Denk niet dat Gerard dat weet.
Fijn dat jullie dezelfde leraar (klaarblijkelijk :? ) kennen, maar hou 't ontopic en zeg alleen wat als je iets zinnigs toe te voegen hebt a.u.b.


Overigens: Je wil geen "textbox" encrypten maar een "string encrypten" (waarna je later leerde dat je eigenlijk wil hashen). Het scheelt als je de juiste termen leert hanteren als je gaat googlen ;)

[ Voor 35% gewijzigd door RobIII op 12-10-2009 22:39 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1

Dit topic is gesloten.