الحصول على صورة الـ Gravatar بإستخدام السي شارب

12 أغسطس 2016     639 مشاهدة    0 تعليق
تم النشر في #ASP.NET  #C#  #Gravatar 

الـ Avatar هي صورة تعبر عنك, وغالباً ما تكون بجانب إسمك عند تفاعلك مع المواقع الإلكترونيه. والـ Gravatar هي خدمة تتيح لأصحاب المواقع, المطورين والمستخدمين من رفع صورة للواجهه الجانبيه الخاصه بهم وربطها ببريد إلكتروني معين, ومن ثم تتفاعل معك الخدمة إذا تم إستخدام البريد المعرف مسبقاً.

سنتعرف اليوم على كيفية الحصول على صورة الـ Gravatar الخاصه بمستخدم معين. طبعاً يمكن جلب صورة أي مستخدم معين بالصيغه التاليه https://www.gravatar.com/avatar/HASH. فما علينا إلا توليد الـ Hash للبريد الإلكتروني الخاص بالمستخدم لجلب صورة ال، Gravatar الخاص به.

سأستعرض معكم أكثر من طريقة لتوليد الـ Hash كالتالي:

public static string ComputeHash(string emailAddress)
{
var md5 = MD5.Create();
byte[] bytes = Encoding.ASCII.GetBytes(emailAddress);
byte[] hash = md5.ComputeHash(bytes);

var sb = new StringBuilder();
for (int i = 0; i < hash.Length; i++)
{
sb.Append(hash[i].ToString("x2"));
}

return sb.ToString();
}

الطريقة الأولى تم إستخدام الفئة MD5 لتوليد الـ Hash من ثم تحويل البيانات إلى قيمة ست عشرية Hexadecimal.

public static string ComputeHash(string emailAddress)
{
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
byte[] bytes = Encoding.ASCII.GetBytes(emailAddress);
byte[] hash = md5.ComputeHash(bytes);
MD5.Clear();

return BitConverter.ToString(hash).Replace("-","");
}

الطريقة الثانية شبية بالأولى إلا أنه تم إستخدام الفئة MD5CryptoServiceProvider لتوليد الـ Hash من ثم تم إستخام الفئة BitConverter لتحويل الـ Hash إلى قيمة نصية.

public static string ComputeHash(string emailAddress)
{
return FormsAuthentication.HashPasswordForStoringInConfigFile(emailAddress, "MD5");
}

الطريقة الثالثة والأخيره بسيطة جداً حيث تم إستخدام الـ APIs الخاصة بالـ Forms Authentication لتوليد الـ Hash.

وفي الأخير سيتم تكوين رابط صورة الـ Gravatar من الـ Hash الذي تم توليده سابقاً على النحو التالي:

string gavatarImageUrl = string.Concat("http://www.gravatar.com/avatar/", hash);

تويتر فيسبوك قوقل + لينكد إن


اكتب تعليقك