【C#】MD5加密,16位加密,32位加密,Base64加密,解密

首先,16位加密与32位加密的区别,在于16位加密就是在32位加密的字符串中取中间16位,即是第9位到24位

比如现在有密码 sys 

32位加密后的字符串就是 36BCBB801F5052739AF8220C6EA51434

16位加密后的字符串就是                   1F5052739AF8220C
 

/// <summary>
/// MD5_16位加密
/// </summary>
public static string GetMD5_16(string value)
{
    string md5Str = string.Empty;

    MD5 md5 = new MD5CryptoServiceProvider();
    byte[] byData = Encoding.Default.GetBytes(value);
    byte[] result = md5.ComputeHash(byData);

    md5Str = BitConverter.ToString(result, 4, 8);
    md5Str = md5Str.Replace("-", "");

    return md5Str;
}

/// <summary>
/// MD5_32位加密
/// </summary>
public static string GetMD5_32(string value)
{
    string md5Str = string.Empty;

    MD5 md5 = new MD5CryptoServiceProvider();
    byte[] byData = Encoding.Default.GetBytes(value);
    byte[] result = md5.ComputeHash(byData);

    md5Str = BitConverter.ToString(result);
    md5Str = md5Str.Replace("-", "");

    return md5Str;
}

/// <summary>
/// MD5_Base64加密
/// </summary>
public static string GetMD5_Base64(string value)
{
    string md5Str = string.Empty;

    MD5 md5 = new MD5CryptoServiceProvider();
    byte[] byData = Encoding.Default.GetBytes(value);
    byte[] result = md5.ComputeHash(byData);

    md5Str = Convert.ToBase64String(result);

    return md5Str;
}

由于MD5是不可逆的,加密之后无法解密

所以在验证密码的时候只能用,将输入用同种加密方法加密后与与密码比较

MD5在破解过程中只能用穷举法

 

MD5相关网站

https://www.cmd5.com/

https://md5jiami.51240.com/

  • 0
    点赞
  • 0
    评论
  • 2
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

打赏
文章很值,打赏犒劳作者一下
相关推荐
©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页

打赏

GreAmbWang

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者