using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Security.Cryptography; namespace MediaBrowser.Common.Extensions { public static class BaseExtensions { static MD5CryptoServiceProvider md5Provider = new MD5CryptoServiceProvider(); public static Guid GetMD5(this string str) { lock (md5Provider) { return new Guid(md5Provider.ComputeHash(Encoding.Unicode.GetBytes(str))); } } /// /// Examine a list of strings assumed to be file paths to see if it contains a parent of /// the provided path. /// /// /// /// public static bool ContainsParentFolder(this List lst, string path) { foreach (var str in lst) { //this should be a little quicker than examining each actual parent folder... if (path.Equals(str,StringComparison.OrdinalIgnoreCase) || (path.StartsWith(str, StringComparison.OrdinalIgnoreCase) && path[str.Length-1] == '\\')) return true; } return false; } } }