MD5:
属于一种加密算法,单项不可逆加密
1.对用户密码或者一些隐私的信息进行加密处理
2.对一段文字生产成信息摘要,这个摘要是具有唯一性的,可以作为数字的签名
3.用于验证文件的有效性
4.在哈希函数计算散列值
Base64加密方式:
网络上最常用的用于传输8Bit字节码的编码方式之一
Base64是一种基于64个打印字符来表示二进制数据的方法
Base64编码是从二进制到字符的过程,Base64是可逆的
//获取MD5编码 转成大写的字母
// i1 传入"abc" : 返回大写唯一的字符
public static string MD5Test(string i1)
{
// 1 创建MD5对象 c#提供了Cryptography类库中md5类生产md5对象
// Security 安全
MD5 md5 = System.Security.Cryptography.MD5.Create();
// 2 使用md5对象对i1进行加密处理 编码之后的字节数组。
byte[] bs = System.Text.Encoding.ASCII.GetBytes(i1);
// 3 把字节数组通过md5进行加密ComputeHash
// Compute 计算
// Hash 哈希函数
// y = x +1 x=0
byte[] hashS = md5.ComputeHash(bs);
//4 把数组转成字符串
StringBuilder s = new StringBuilder();//可变字符串
for (int i = 0; i < hashS.Length; i++)
{ //16进制0-15 ,0-9还是数字,
//ToString("X2")
//X代表是16进制,大写的X是代表大写16进制的
//小写的x代表的小写的16进制
//2 不足俩位的前面补0
//例如0x0A,如果没有2. 输出结果是0xA
s.Append(hashS[i].ToString("X2")); //追加字符串 ,等同于+拼接字符串
}
return s.ToString();
}
public static string MD5Test2(string i1)
{
MD5 md5 = System.Security.Cryptography.MD5.Create();
byte[] bs = System.Text.Encoding.ASCII.GetBytes(i1.ToLower());
byte[] hashS = md5.ComputeHash(bs);
StringBuilder s = new StringBuilder();
for (int i = 0; i < hashS.Length; i++)
{
s.Append(hashS[i].ToString("x2").ToLower()); //追加字符串 ,等同于+拼接字符串
}
return s.ToString();
}