You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
SOP/sop-sdk/sdk-csharp/SDKCSharp/Utility/MD5Util.cs

71 lines
2.1 KiB

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Security.Cryptography;
namespace SDKCSharp.Utility
{
public class MD5Util
{
/// <summary>
/// MD5加密,全部大写
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public static string EncryptToUpper(string input)
{
return Encrypt(input).ToUpper();
}
/// <summary>
/// 返回长度16串,小写
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public static String Encrypt16(String input)
{
return Encrypt(input).Substring(8, 16);
}
/// <summary>
/// MD5加密,全部小写
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public static string Encrypt(string input)
{
return Encrypt(Encoding.UTF8.GetBytes(input));
}
/// <summary>
/// MD5加密
/// </summary>
/// <param name="inputData"></param>
/// <returns>返回小写字母</returns>
public static string Encrypt(byte[] inputData)
{
// Create a new instance of the MD5CryptoServiceProvider object.
MD5CryptoServiceProvider md5Hasher = new MD5CryptoServiceProvider();
// Convert the input string to a byte array and compute the hash.
byte[] data = md5Hasher.ComputeHash(inputData);
// Create a new Stringbuilder to collect the bytes
// and create a string.
StringBuilder sBuilder = new StringBuilder();
// Loop through each byte of the hashed data
// and format each one as a hexadecimal string.
for (int i = 0; i < data.Length; i++)
{
sBuilder.Append(data[i].ToString("x2"));
}
// Return the hexadecimal string.
return sBuilder.ToString();
}
}
}