页面传递参数加密的问题?
看到有一个页面ContentDetail.aspx?id=4df1b1a2-1d67-4498-8778-6d4f5140b21b请问id=4df1b1a2-1d67-4498-8778-6d4f5140b21b是用了什么加密算法,和我们一般用的加密结果不一样呢?
--------------------编程问答-------------------- 求解!!! --------------------编程问答-------------------- 你这是GUID吧 不是加密的 --------------------编程问答-------------------- 同意楼上的,应该是GUID --------------------编程问答-------------------- 这是guid,也就是全球唯一的标识 --------------------编程问答-------------------- 同意楼上各位的回答 --------------------编程问答--------------------
上面的就只是一个GUID。
C#中System.Guid.NewGuid()就可以生成一个。
在Sqlserver数据库中 newid() 也可以生成一个。
http://baike.baidu.com/view/185358.htm --------------------编程问答-------------------- guid --------------------编程问答-------------------- 是的这是guid,也就是全球唯一的标识,几乎不会重复算可以用当主键之类唯一标识 --------------------编程问答-------------------- guid
System.Guid.NewGuid() --------------------编程问答-------------------- System.Guid.NewGuid() --------------------编程问答-------------------- #region MD5算法
/// <summary>
/// MD5加密(小写)
/// </summary>
/// <param name="source">待加密的字符串</param>
/// <param name="encoding">加密所使用的编码</param>
/// <param name="code32">指示启用的加密位数,true表示采用32位加密,false表示采用16位加密</param>
/// <returns>加密后的字符串</returns>
public static string MD5(string source, string encoding, bool code32)
{
try
{
//获取md5加密算法的实例
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
//计算md5结果
byte[] result = md5.ComputeHash(Encoding.GetEncoding(encoding).GetBytes(source));
if (code32) //32位加密
{
//因为BitConverter.ToString()方法转换后用"-"连接字节,所以要替换掉
return BitConverter.ToString(result).Replace("-", "").ToLower();
}
else //16位加密
{
//转换后的字符串是32位的,取9-24位
//BitConverter.ToString(result, 4, 8),意思是从result字节数组的第5个元素开始,共取8个,转换成string
//因为转换后的字符串是用16进制表示的,每一个byte转换成16进制后是两位,那么8个byte恰好是8*2=16位
return BitConverter.ToString(result, 4, 8).Replace("-", "").ToLower();
}
}
catch
{
return string.Empty;
}
}
/// <summary>
/// utf-8编码的32位MD5加密(小写)
/// </summary>
/// <param name="source">待加密的字符串</param>
/// <returns>加密后的16位字符序列</returns>
public static string MD5(string source)
{
return MD5(source, "utf-8", true);
}
/// <summary>
/// 指定源字符串编码格式的32位MD5加密(小写)
/// </summary>
/// <param name="source">待加密的字符串</param>
/// <param name="encoding">待加密字符串的编码格式</param>
/// <returns>加密后的32位字符序列</returns>
public static string MD5(string source, string encoding)
{
return MD5(source, encoding, true);
}
/// <summary>
/// utf-8编码的MD5加密(小写),当code32=true时为32位,否则为16位
/// </summary>
/// <param name="source">待加密的字符串</param>
/// <param name="code32">指示启用的加密位数,true表示采用32位加密,false表示采用16位加密</param>
/// <returns>加密后的字符序列</returns>
public static string MD5(string source, bool code32)
{
return MD5(source, "utf-8", false);
}
#endregion
C#中System.Guid.NewGuid()就可以生成一个。
在Sqlserver数据库中 newid() 也可以生成一个。
补充:.NET技术 , ASP.NET