Get SHA256 Hash : Hash « Security « C# / C Sharp






Get SHA256 Hash

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Script.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using System.Net;
using System.Globalization;
using System.Security.Cryptography;

namespace WeBlog {
  public static class Utils {
    public static double CalculateRating(int raters, double rating, double newRating) {
      double calcRating = ((rating * raters) + newRating) / (raters + 1);
      calcRating = Math.Floor((calcRating * 2) + .5) / 2;
      return calcRating;
    }

    public static string GetMD5Hash(string input) {
            if (String.IsNullOrWhiteSpace(input))
                return String.Empty;

      // step 1, calculate MD5 hash from input
      MD5 md5 = System.Security.Cryptography.MD5.Create();
      byte[] inputBytes = System.Text.Encoding.ASCII.GetBytes(input);
      byte[] hash = md5.ComputeHash(inputBytes);

      // step 2, convert byte array to hex string
      StringBuilder sb = new StringBuilder();
      for (int i = 0; i < hash.Length; i++) {
        sb.Append(hash[i].ToString("x2"));
      }
      return sb.ToString();
    }

    public static string GetSummary(string html, int length ) {
      string text = Utils.StripHtml(html);
      if (text.Length > length) {
        text = text.Substring(0, length) + " ...";
        text = "\"" + text.Trim() + "\"";
      }
      return text;
    }

    public static string GetSHA256Hash(string input) {
      byte[] data = Encoding.UTF8.GetBytes(input);
      using (HashAlgorithm sha = new SHA256Managed()) {
        byte[] encryptedBytes = sha.TransformFinalBlock(data, 0, data.Length);
        return Convert.ToBase64String(sha.Hash);
      }
    }

    public static string RemoveIllegalCharacters(string text) {
      if (string.IsNullOrEmpty(text))
        return text;

      text = text.Replace(":", string.Empty);
      text = text.Replace("/", string.Empty);
      text = text.Replace("?", string.Empty);
      text = text.Replace("#", string.Empty);
      text = text.Replace("[", string.Empty);
      text = text.Replace("]", string.Empty);
      text = text.Replace("@", string.Empty);
      text = text.Replace("*", string.Empty);
      text = text.Replace(".", string.Empty);
      text = text.Replace(",", string.Empty);
      text = text.Replace("\"", string.Empty);
      text = text.Replace("&", string.Empty);
      text = text.Replace("'", string.Empty);
      text = text.Replace(" ", "-");
      text = RemoveDiacritics(text);
      text = RemoveExtraHyphen(text);

      return HttpUtility.UrlEncode(text).Replace("%", string.Empty);
    }

    private static string RemoveExtraHyphen(string text) {
      if (text.Contains("--")) {
        text = text.Replace("--", "-");
        return RemoveExtraHyphen(text);
      }

      return text;
    }

    private static String RemoveDiacritics(string text) {
      String normalized = text.Normalize(NormalizationForm.FormD);
      StringBuilder sb = new StringBuilder();

      for (int i = 0; i < normalized.Length; i++) {
        Char c = normalized[i];
        if (CharUnicodeInfo.GetUnicodeCategory(c) != UnicodeCategory.NonSpacingMark)
          sb.Append(c);
      }

      return sb.ToString();
    }

    private static Regex _Regex = new Regex("<[^>]*>", RegexOptions.Compiled);
    /// <summary>
    /// Removes all HTML tags from a given string
    /// </summary>
    public static string StripHtml(string html) {
      if (string.IsNullOrEmpty(html))
        return string.Empty;

      return _Regex.Replace(html, string.Empty);
    }

        public static event EventHandler<EventArgs> OnLog;
        public static void Log(object message)
        {
            if (OnLog != null)
            {
                OnLog(message, new EventArgs());
            }
        }

        public static void Log(string methodName, Exception ex)
        {
            Log(String.Format("{0}: {1}", methodName, ex.Message));
        }
  }
}

   
  








Related examples in the same category

1.Verify Hex Hash, Base64 Hash, Byte Hash
2.Generic Hash
3.Get Public Key Hash with HttpClientCertificate
4.Get Public Key Hash with SHA256
5.Get Public Key Hash for a string
6.Hash As Password
7.Generate Hash
8.Get Hash for password
9.Generates a hash code of the input string
10.Hash Data
11.Hash Password
12.Create Password Hash