MD5 的摘要说明

/// <summary>
///MD5 的摘要说明
/// </summary>
public static class MD5
{
 
  public  static string GetMD5(string Input, bool Half)
    {
        string output = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(Input, "MD5").ToLower();
        if (Half)//16位MD5加密(取32位加密的6~22字符)
        {
            output = output.Substring(5, 16);
        }
        return output;
    }

    public static string GetMD5(string Input)
    {
        return GetMD5(Input, true);
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MD5是一种广泛使用的消息摘要算法,用于对消息进行加密和验证。其基本加密过程可以简述如下: 1. 填充消息:将原始消息填充到512位(64字节)的整数倍,填充方式为在消息末尾添加一个1和若干个0,使得填充后的消息长度对512取模后余数为448。 2. 添加长度:将原始消息的长度(以位为单位)的64位二进制表示添加到填充后的消息末尾。 3. 初始化缓冲区:将缓冲区中的四个32位寄存器(A、B、C、D)初始化为特定的常量值。 4. 分组处理:将填充后的消息按照512位(64字节)一组进行分组,每组进行一次处理。 5. 消息扩展:对每组进行消息扩展,将64字节的消息扩展为80字节的消息块。 6. 循环压缩:对扩展后的消息块进行循环压缩,一共进行四轮,每轮都对缓冲区中的四个寄存器进行一次更新。 7. 输出结果:经过四轮循环压缩后,缓冲区中的四个32位寄存器就是MD5算法的结果,将它们按照从A到D的顺序连接起来,就得到了128位(16字节)的摘要值。 MD5算法的核心是循环压缩过程,每轮循环中都会使用不同的非线性函数、位运算和加法来更新缓冲区中的四个寄存器。这些函数和运算操作具有一定的随机性和不可逆性,从而使得MD5算法具有一定的安全性和抗攻击性。 需要注意的是,MD5算法已经被证明存在一定的安全漏洞,因此在实际应用中建议使用更为安全的SHA-256等算法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值