MD5 Validatoren gibt es hier schon, ich möchte aber trotzdem zusätzlich meinen veröffentlichen, da dieser hier nicht auf Regex aufbaut und damit schneller ist.
Ich zeige hier 2 Versionen der Methode, einmal mit C# 6 und LINQ und eine klassische Variante die nur eine foreach-Schleife einsetzt.
Benötigte Namespaces - für die C# 6 Version
System.Linq
//C# 6 Syntax mit LINQ
/// <summary>
/// Validiert einen MD5 Hash-String.
/// </summary>
/// <param name="md5">Die zu testende Zeichenfolge.</param>
/// <returns><c>true</c>, wenn <paramref name="md5"/> ein gültige MD5 Hash ist; andernfalls <c>false</c>.</returns>
static bool IsValidMD5(string md5) => md5 != null && md5.Length == 32 && md5.All(x => (x >= '0' && x <= '9') || (x >= 'a' && x <= 'f') || (x >= 'A' && x <= 'F'));
//alte C# Syntax
/// <summary>
/// Validiert einen MD5 Hash-String.
/// </summary>
/// <param name="md5">Die zu testende Zeichenfolge.</param>
/// <returns><c>true</c>, wenn <paramref name="md5"/> ein gültige MD5 Hash ist; andernfalls <c>false</c>.</returns>
static bool IsValidMD5(string md5)
{
if (md5 == null || md5.Length != 32) return false;
foreach (var x in md5)
{
if ((x < '0' || x > '9') && (x < 'a' || x > 'f') && (x < 'A' || x > 'F'))
{
return false;
}
}
return true;
}
2 Kommentare zum Snippet