C# MD5验证

孙广东  2014.6.24

数据经网络传输后会变得非常不安全,最简单有效的解决方案是给数据加一个密钥,使用MD5 算法算出校验码,服务器收到数据和校验码后在进行比较校验码是否正确,以此来判断数据是否修改过。 PHP生成 的 MD5 校验默认为32位的字符串,  而C#默认的是16位的字节数组,需要略加修改,转为32个字节的字符串,代码如下:

        public static string Md5Sum(string strToEncrypt)
        {
            // 将需要加密的字符串转为byte数组
            byte[] bs = UTF8Encoding.UTF8.GetBytes(strToEncrypt);

            // 创建md5 对象
            System.Security.Cryptography.MD5 md5;
            md5 = System.Security.Cryptography.MD5CryptoServiceProvider.Create();

            // 生成16位的二进制校验码
            byte[] hashBytes = md5.ComputeHash(bs);

            // 转为32位字符串
            string hashString = "";
            for (int i = 0; i < hashBytes.Length; i++)
            {
                hashString += System.Convert.ToString(hashBytes[i], 16).PadLeft(2, ‘0‘);
            }

            return hashString.PadLeft(32, ‘0‘);
        }

使用这个 MD5 函数非常简单, 在下面的代码示例中,数据是包含有 “hello world” 的一个字符串, 密钥位123, 使用Md5Sum算出32位的校验码字符串。

            string data = "hello world";
            string key = "123";
            Md5Sum(data + key);  // 返回

??

时间: 2024-10-13 05:49:25

C# MD5验证的相关文章

C#基础-MD5验证

一.前言 MD5验证主要用于更新文件功能方面,服务器告知客户端要下载哪些更新文件并提供给客户端其MD5值,客户端从服务器将更新文件下载到本地并计算下载文件的MD5值,将本地接收的MD5值与服务器提供的MD5值进行比对,如果相同则说明下载的文件与服务器提供的文件是一致的,如果不相同则说明下载后文件可能有缺失,应丢弃或断点续传. 二.计算文件的MD5值 using System.Security.Cryptography; using System.Text; using(FileStream fi

laravle5.4修改成MD5验证加密方式

今天在做laravel项目的时候,需要做成md5加密的方式验证,那如何在不修改已有的源码去重构一下呢. 注:下面修改的代码做法,会把整个框架的加密方式全部修改,请根据自己的项目需求而定. 如果只要修改登录注册看这篇文章<laravel5.4登录注册MD5加密验证方法> 转载请注明(B5教程网)原文链接:http://www.bcty365.com/content-153-5884-1.html 1. 在app/下创建一个MD5/文件夹.里面创建一个MD5Hasher类(MD5Hasher.ph

md5验证文件上传,确保信息传输完整一致

注:因为是公司项目,仅记录方法和思路以及可公开的代码. 最近在公司的项目中,需要实现一个上传升级包到服务器的功能: 在往服务器发送文件的时候,需要确保 文件从开始发送,到存入服务器磁盘的整个传输的过程没有发生变动: 这时候想起了MD5; 关于MD5: MD5值就像是这个文件的"数字指纹",每个文件的MD5值是不同的. 如果任何人对文件做了任何改动,其MD5值也就是对应的"数字指纹"就会发生变化. MD5就可以为任何文件(不管其大小.格式.数量)产生一个同样独一无二的

CAS 4.0.0RC 配置MD5验证功能

配置内容同一样,只是增加一些配置. 因为cas已经默认就支持MD5加密验证,所以只是修改一下配置就可以了. <bean id="primaryAuthenticationHandler" class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler"> <property name="dataSource" ref="dataSource&q

支付宝接口url生成,MD5验证

原文链接:http://my.oschina.net/rain21/blog/496780 URL生成: <?php $parameter = array(     'service'           => 'create_forex_trade',     'partner'           => '2088101122136241',     '_input_charset'    => strtolower('utf-8'),     'notify_url'    

MongoDB进阶系列(14)——GridFS大文件MD5验证

md5在上传之后都会保存在fs.files的元数据信息里,用来以后用户在get大文件之后比对md5值进行验证. linux中查看md5值的方法是: md5sum 文件名 那么我们就看看从Mongodb中get的文件的md5和MongoDB中存储的GridFS的md5是否一样. [[email protected] ~]$ sudo /usr/local/mongodb/bin/mongofiles put mongodbBook.tar.gz  [sudo] password for neil:

385cc412a70eb9c6578a82ac58fce14c 教大家破解md5验证值

Md5密文破解(解密)可以说是网络攻击中的一个必不可少的环节,是工具中的一个重要"辅助工具".md5解密主要用于网络攻击,在对网站等进行入侵过程,有可能获得管理员或者其他用户的账号和密码值(md5加密后的值).获得的密码值有两种情况,一种是明文,另外一种就是对明文进行了加密.如果密码值是加密的,这个时候就需要对密码值进行判断,如果是采取md5加密,则可以通过MD5Crack3等软件进行破解.王小云教授的md5密码碰撞破解算法没有公布,因此目前Md5解密方式主要采取暴力破解, 即软件通过

Hash(MD5校验工具)

本站提供md5校验工具下载.Hash(md5校验工具)是一款小巧好用的哈希计算器,Hash支持文件拖放,速度很快,可以计算文件的MD5.SHA1.CRC32 的值.在论坛上.软件发布时经常用Hash md5校验工具,是为了保证文件的正确性,防止一些人盗用程序,加些木马或者篡改版权,设计的一套验证系统.每个文件都可以用Hash验证程序算出一个固定的MD5码来. Hash md5是一款小巧好用的哈希计算器,也是一款md5校验工具.支持文件拖放,速度很快,可以计算文件的 MD5.SHA1.CRC32

MD5 Message Digest Algorithm MD5(中文名为消息摘要算法第五版)

MD5 编辑 Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护.该算法的文件号为RFC 1321(R.Rivest,MIT Laboratory for Computer Science and RSA Data Security Inc. April 1992). MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致.是计算机广泛使用的杂凑