c#官方推荐md5通用加密类

简介:
/// <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;
    }
    MD5CryptoServiceProvider md5Hasher = new MD5CryptoServiceProvider();
    byte[] data = md5Hasher.ComputeHash(encode.GetBytes(input));
    StringBuilder sBuilder = new StringBuilder();
    for (int i = 0; i < data.Length; i++)
    {
        sBuilder.Append(data[i].ToString("x2"));
    }
    return sBuilder.ToString();
}
复制代码

 





本文转自王磊的博客博客园博客,原文链接:http://www.cnblogs.com/vipstone/p/5585617.html,如需转载请自行联系原作者
目录
相关文章
|
6天前
|
移动开发 算法 数据安全/隐私保护
md5加密原理
MD5加密原理涉及哈希算法,过程不可逆。步骤包括:\n1. 排序拼接客户端参数成A。\n2. A与服务端密钥B结合成C。\n3. 对C进行MD5加密得签名D。\n4. 比较D与客户端签名是否一致以验证数据完整性。Postman示例代码用于生成签名:根据请求方法,对URL或请求体进行MD5加密并设置全局变量&quot;sign&quot;。
31 7
|
3天前
|
存储 安全 算法
三种常见的加密算法:MD5、对称加密与非对称加密的比较与应用
网络安全聚焦加密算法:MD5用于数据完整性校验,易受碰撞攻击;对称加密如AES快速高效,密钥管理关键;非对称加密如RSA提供身份验证,速度慢但安全。三种算法各有所长,适用场景各异,安全与效率需权衡。【6月更文挑战第17天】
16 2
|
6天前
|
Java C# 数据安全/隐私保护
|
6天前
|
移动开发 算法 数据安全/隐私保护
md5加密、postman签名、加签
MD5是一种不可逆的哈希加密,通过特定步骤确保安全:先将参数排序拼接成字符串,再结合共享密钥形成新串,然后用MD5加密得到签名。客户端既发送参数也发送签名,服务端同样对参数加密比对签名。Postman示例中,根据请求类型(GET/其他),处理请求URL或请求体,使用CryptoJS库执行MD5加密并设置全局变量“sign”。
111 4
|
5天前
|
数据库 数据安全/隐私保护 数据库管理
QT中sqlite数据库数据加密/混淆---MD5/SHA1/SHA2/SHA3
QT中sqlite数据库数据加密/混淆---MD5/SHA1/SHA2/SHA3
|
1月前
|
开发框架 前端开发 .NET
C#编程与Web开发
【4月更文挑战第21天】本文探讨了C#在Web开发中的应用,包括使用ASP.NET框架、MVC模式、Web API和Entity Framework。C#作为.NET框架的主要语言,结合这些工具,能创建动态、高效的Web应用。实际案例涉及企业级应用、电子商务和社交媒体平台。尽管面临竞争和挑战,但C#在Web开发领域的前景将持续拓展。
|
1月前
|
SQL 开发框架 安全
C#编程与多线程处理
【4月更文挑战第21天】探索C#多线程处理,提升程序性能与响应性。了解C#中的Thread、Task类及Async/Await关键字,掌握线程同步与安全,实践并发计算、网络服务及UI优化。跟随未来发展趋势,利用C#打造高效应用。
|
1月前
|
开发框架 .NET Java
探索 C#编程的奥秘与魅力
【4月更文挑战第20天】C#是微软开发的现代、面向对象的编程语言,以其简洁语法、强大功能和跨平台支持脱颖而出。它支持自动垃圾回收、泛型、委托、LINQ,并广泛应用于桌面、Web、移动和游戏开发。C#拥有活跃的开发者社区和丰富的资源,是Unity游戏开发的首选语言。随着.NET Core,C#可在多个操作系统上运行,持续创新,未来发展潜力巨大。
|
1月前
|
存储 安全 网络安全
C#编程的安全性与加密技术
【4月更文挑战第21天】C#在.NET框架支持下,以其面向对象和高级特性成为安全软件开发的利器。本文探讨C#在安全加密领域的应用,包括使用System.Security.Cryptography库实现加密算法,利用SSL/TLS保障网络传输安全,进行身份验证,并强调编写安全代码的重要性。实际案例涵盖在线支付、企业应用和文件加密,展示了C#在应对安全挑战的同时,不断拓展其在该领域的潜力和未来前景。
|
1月前
|
人工智能 C# 云计算
C#编程的未来发展趋向
【4月更文挑战第21天】C#编程未来将深化跨平台支持,强化云计算与容器技术集成,如.NET Core、Docker。在AI和ML领域,C#将提供更丰富框架,与AI芯片集成。语言和工具将持续创新,优化异步编程,如Task、async和await,提升多核性能。开源生态的壮大将吸引更多开发者,共创更多机遇。