工具类

本文介绍了数据转换中常见的MD5加密方法,包括字符串和文件的MD5加密实现,并提供了对象序列化与反序列化的具体代码示例。

 

数据转化

public class DataConvert
{

/// <summary>
/// 获得MD5加密字符串
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static string GetMD5String(string str)
{
return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5");
}


/// <summary>
/// 获得MD5加密字符串
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static string GetFileMD5String(string FilePath)
{
if (!File.Exists(FilePath))
{
return "";
}

try
{
using (FileStream get_file = new FileStream(FilePath, FileMode.Open, FileAccess.Read, FileShare.Read))
{
System.Security.Cryptography.MD5CryptoServiceProvider get_md5
= new System.Security.Cryptography.MD5CryptoServiceProvider();
byte[] hash_byte = get_md5.ComputeHash(get_file);
string resule = System.BitConverter.ToString(hash_byte);
resule
= resule.Replace("-", "");
get_file.Close();
get_file.Dispose();
return resule;
}
}
catch (Exception e)
{
Console.WriteLine(e);
return GetMD5String("");
}
}


/// <summary>
/// 将对象序列化
/// </summary>
/// <param name="info"></param>
/// <returns>返回UTF8格式编码的字节数组</returns>
public static byte[] Serialize(object info)
{
if (info == null)
{
return null;
}
JavaScriptSerializer js
= new JavaScriptSerializer();
try
{
string str = js.Serialize(info);
if (str == null)
{
return null;
}
return Encoding.UTF8.GetBytes(str);
}
catch (InvalidOperationException ex)
{
Console.WriteLine(ex.Message);
return null;
}
}


/// <summary>
/// 反序列化
/// </summary>
/// <returns></returns>
public static Dictionary<string, object> Dserialize(string strJsonData)
{
if (strJsonData == null || strJsonData == "")
{
return null;
}

JavaScriptSerializer js
= new JavaScriptSerializer();
try
{
return js.Deserialize<Dictionary<string, object>>(strJsonData);
}
catch (InvalidOperationException ex)
{
Console.WriteLine(ex.Message);
return null;
}
catch (ArgumentException exec)
{
Console.WriteLine(exec.Message);
return null;
}
}


/// <summary>
/// 反序列化
/// </summary>
/// <returns></returns>
public static Dictionary<string, object> Dserialize(byte[] bufferJsonData)
{
return Dserialize(Encoding.Default.GetString(bufferJsonData));
}

}

 

转载于:https://www.cnblogs.com/08shiyan/archive/2010/11/22/1883708.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值