[C#] md5 class werkt niet naar behoren

Pagina: 1
Acties:

  • Limhes
  • Registratie: Oktober 2001
  • Laatst online: 19-08 19:06
Wat is de goede manier om binnen 't .NET framework met C# een md5 hash te maken?
Er is een namespace System.Security.Cryptography en daarbinnen is een class MD5, maar ik krijg niks aant werken...

Als ik dit probeer:
code:
1
2
3
using System.Security.Cryptography;
...
MD5 md5Test = new MD5();

krijg ik als foutmelding:
test.cs(114,18): error CS0144: Cannot create an instance of the abstract class or interface 'System.Security.Cryptography.MD5'

Waarom zou dit niet kunnen? :?

  • whoami
  • Registratie: December 2000
  • Laatst online: 21:51
Het staat allemaal in uw compiler error waarom het niet kan. Je wilt een object instantieren van een abstracte class.
Die class MD5 is dus een abstracte base class waar er in het .NET framework wel classes zullen van afgeleid zijn, zoek eens zo'n afgeleide class van die MD5 class en instantieer daarvan een object.
En als er geen afgeleide classes bestaan van MD5 zul je zelf een class moeten schrijven die daarvan inherit.

https://fgheysels.github.io/


  • Limhes
  • Registratie: Oktober 2001
  • Laatst online: 19-08 19:06
Kun je daar wat meer over uitleggen? Wat is precies een abstracte class?

edit:

Ben er al achter dat ik inderdaad de HashAlgorithm (o.a.) class moet gebruiken.

  • whoami
  • Registratie: December 2000
  • Laatst online: 21:51
Een abstracte class is een generieke class. De schrijver van die class (in dit geval Microsoft), wil niet dat een gebruiker/programmeur (in dit geval jij) rechtstreeks een object gaat instantieren van die class.
Waarom doet hij dat? zul je nu vragen. Wel, zoals eerder gezegd is die classe dus generiek, dus te algemeen van functionaliteit om er iets mee te doen. De schrijver van die class-structuur heeft dus een generieke class geschreven met wat basisfunctionaliteit en een aantal classes geschreven die van die abstracte, generieke class overerven.

Indien je zelf een class schrijft met een abstracte functie erin (ja, dat bestaat ook, een abstracte functie is een functie zonder function-body, dus eigenlijk enkel een functie-definitie maar er is nog niet uitgewerkt hoe die functie juist werkt) dan moet je die class ook als abstract gaan definiëren.

https://fgheysels.github.io/


  • Limhes
  • Registratie: Oktober 2001
  • Laatst online: 19-08 19:06
Thnx, ik zal kijken wat ik er verder mee kan doen...

Maar is er verder niemand die al es zoiets gemaakt heeft?