MD5加密帮助类

public class MD5Helper
{
    /// <summary>
    /// MD5加密
    /// </summary>
    /// <param name="input">需要加密的字符串</param>
    /// <returns></returns>
    public static string MD5Encrypt(string input)
    {
        return MD5Encrypt(input, new UTF8Encoding());
    }

    /// <summary>
    /// md5加密16|32位
    /// </summary>
    /// <param name="input"></param>
    /// <param name="length"></param>
    /// <returns></returns>
    public static string MD5Encrypt(string input, int length)
    {
        string res = MD5Encrypt(input, new UTF8Encoding());
        if (length == 16)
        {
            res = res.Substring(8, 16);
        }
        return res;
    }

    /// <summary>
    /// MD5加密
    /// </summary>
    /// <param name="input">需要加密的字符串</param>
    /// <param name="encode">字符的编码</param>
    /// <returns></returns>
    public static string MD5Encrypt(string input, Encoding encode)
    {
        if (string.IsNullOrEmpty(input))
        {
            return null;
        }
        StringBuilder sBuilder = new StringBuilder();
        using (MD5CryptoServiceProvider md5Hasher = new MD5CryptoServiceProvider())
        {
            byte[] data = md5Hasher.ComputeHash(encode.GetBytes(input));
            for (int i = 0; i < data.Length; i++)
            {
                sBuilder.Append(data[i].ToString("x2"));
            }
        }
        return sBuilder.ToString();
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用以下的Java代码来实现MD5加密和解密的工具: ```java import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class MD5Utils { public static String encrypt(String input) { try { MessageDigest md = MessageDigest.getInstance("MD5"); byte[] messageDigest = md.digest(input.getBytes()); StringBuilder hexString = new StringBuilder(); for (byte b : messageDigest) { String hex = Integer.toHexString(0xFF & b); if (hex.length() == 1) { hexString.append('0'); } hexString.append(hex); } return hexString.toString(); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); return null; } } public static boolean decrypt(String input, String encrypted) { String decrypted = encrypt(input); return decrypted != null && decrypted.equals(encrypted); } public static void main(String[] args) { String password = "your_password"; String encryptedPassword = encrypt(password); System.out.println("Encrypted password: " + encryptedPassword); // Example of decryption String inputPassword = "your_password"; boolean isMatch = decrypt(inputPassword, encryptedPassword); System.out.println("Password match: " + isMatch); } } ``` 上述代码中的`encrypt`方法用于对输入进行MD5加密,返回加密后的字符串。`decrypt`方法用于将输入进行MD5加密,并与给定的加密后字符串比较,返回比较结果。`main`方法中包含了一个示例,演示了如何使用该工具加密和解密密码。 请注意,MD5是一种单向散列函数,即无法逆向解密。因此,代码中的`decrypt`方法实际上是将输入进行加密后再与给定的加密后字符串比较。如果加密后的字符串相同,则认为输入与给定字符串相匹配。 希望这可以帮助到你!如有其他问题,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值