(转)C# MD5
本文原地址:http://blog.csdn.net/zhoufoxcn/article/details/1497099 作者:周公
代码如下:
- using System;
- using System.Text;
- using System.Security.Cryptography;
- namespace Common
- {
- /// <summary>
- /// 一个实现MD5散列字符串的类
- /// 作者:周公
- /// 日期:2007
- /// </summary>
- public sealed class MD5Hashing
- {
- private static MD5 md5 = MD5.Create();
- //私有化构造函数
- private MD5Hashing()
- {
- }
- /// <summary>
- /// 使用utf8编码将字符串散列
- /// </summary>
- /// <param name="sourceString">要散列的字符串</param>
- /// <returns>散列后的字符串</returns>
- public static string HashString(string sourceString)
- {
- return HashString(Encoding.UTF8, sourceString);
- }
- /// <summary>
- /// 使用指定的编码将字符串散列
- /// </summary>
- /// <param name="encode">编码</param>
- /// <param name="sourceString">要散列的字符串</param>
- /// <returns>散列后的字符串</returns>
- public static string HashString(Encoding encode, string sourceString)
- {
- byte[] source = md5.ComputeHash(encode.GetBytes(sourceString));
- StringBuilder sBuilder = new StringBuilder();
- for (int i = 0; i < source.Length; i++)
- {
- sBuilder.Append(source[i].ToString("x2"));
- }
- return sBuilder.ToString();
- }
- }
- }
2010-04-05日注:
上面的代码对字符串进行MD5哈希计算的结果与下面的一句话等效:
System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5").ToLower())
其中str是要进行哈希计算的字符串,如果在ASP.NET应用中倒也罢了,如果在非ASP.NET应用中还需要增加对System.Web.dll的引用。
其它参考文章:http://www.cnblogs.com/94cool/archive/2010/05/25/1743642.html
http://www.cnblogs.com/ahui/archive/2010/12/23/1914586.html
http://www.cnblogs.com/Ruiky/archive/2012/04/16/2451663.html
(转)C# MD5的更多相关文章
- 关于CryptoJS中md5加密以及aes加密的随笔
最近项目中用到了各种加密,其中就包括从没有接触过得aes加密,因此从网上各种查,官方的一种说法: 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学 ...
- Android数据加密之MD5加密
前言: 项目中无论是密码的存储或者说判断文件是否是同一文件,都会用到MD5算法,今天来总结一下MD5加密算法. 什么是MD5加密? MD5英文全称“Message-Digest Algorithm 5 ...
- [C#] 简单的 Helper 封装 -- SecurityHelper 安全助手:封装加密算法(MD5、SHA、HMAC、DES、RSA)
using System; using System.IO; using System.Security.Cryptography; using System.Text; namespace Wen. ...
- java单向加密算法小结(2)--MD5哈希算法
上一篇文章整理了Base64算法的相关知识,严格来说,Base64只能算是一种编码方式而非加密算法,这一篇要说的MD5,其实也不算是加密算法,而是一种哈希算法,即将目标文本转化为固定长度,不可逆的字符 ...
- android_m2repository_rxx.zip下载地址以及MD5
地址 MD5 https://dl-ssl.google.com/android/repository/android_m2repository_r08.zip 8C8EC4C731B7F55E646 ...
- 一种简单的md5加盐加密的方法(防止彩虹表撞库)
md5加密(或者说摘要算法)大家都很熟悉了 就不解释了 现在很多数据库设计都喜欢用单向加密的方式保存密码,验证时对提交的密码再次加密之后做密文对比 /// <summary> 使用MD5加 ...
- 2、摘要函数——MD2/MD4/MD5数字签名
摘要是用来防止数据被私自改动的方法,其中用到的函数叫做摘要函数.这些函数的输入可以是任意大小的信息,但是输出是大小固定的摘要.摘要有个重要的特性:如果改变了输入信息的任何内容,即使改变一位,输出也将发 ...
- c#官方推荐md5通用加密类
/// <summary> /// MD5加密 /// </summary> /// <param name="input">需要加密的字符串& ...
- 密码学应用(DES,AES, MD5, SHA1, RSA, Salt, Pkcs8)
目录 一.数据加密标准 - Data Encryption Standard(DES) 二.高级加密标准 - Advanced Encryption Standard(AES) 三.消息摘要算法第五版 ...
- 原创:MD5 32位加密软件
网站后台数据库切勿使用明文保存密码,否则一旦黑客拿下你的Webshell,后果不堪设想. 网站后台密码加密大多数采用的就是MD5算法加密.今天给大家送一个本人用c#简单编写的MD5 32位加密程序,虽 ...
随机推荐
- js net 除法取整
1.js中 在编程运算中,除法取整数是比较常用的!一般的编程语言都有内置的函数,JS 脚本也不例外.在JavaScript 中,实现除法取整数有两种方法,即是两个内置函数:Math.floor 和Ma ...
- 【svn】 linux svn 强制提交注释
在svn版本库的hooks文件夹下面,复制模版pre-commit.tmpl cp pre-commit.tmpl pre-commit chmod +x pre-commit vi编辑,如下: #! ...
- scala中的=>符号的含义
[声明]本帖的内容是copy来的,来源为stack overflow. It has several meanings in Scala, all related to its mathematica ...
- OpenSSL库验证PKCS7签名
使用Crypto库签名和验证签名请参考Crypto库实现PKCS7签名与签名验证,可以使用OpenSSL库验证Crypto签名,OpenSSL验证签名可使用简单的代码描述如下: //signature ...
- android学习笔记24——事件处理
事件处理 android提供了两种事件处理机制: 1.基于回调的事件处理 2.基于监听器的事件处理(通过绑定特定事件监听器) 注意: android对于基于回调的事件处理而言,主要做法就是重写andr ...
- python学习-day02
---恢复内容开始--- 一.pycharm安装 1.1破解方式http://www.cnblogs.com/evlon/p/4934705.html 1.2.头部配置: 二.运算符 2.1.比较运算 ...
- 关于snprintf的一个warning
在编一段代码时用到snprintf,有个很奇怪的warning 编译提示: warning C4013: 'snprintf' undefined; assuming extern returning ...
- 95. Unique Binary Search Trees II
Given an integer n, generate all structurally unique BST's (binary search trees) that store values 1 ...
- 81 Search in Rotated Sorted Array II
Follow up for "Search in Rotated Sorted Array":What if duplicates are allowed? Would this ...
- 黄聪:Discuz!的SEO优化策略二:如何去掉页脚多余的信息
论坛搭建好,首先是把多余的东西都砍掉. 页脚的信息在我看来,都是很多余的信息,如下图: 要怎么消灭掉它们呢? 1.进入 全局 -- 站点信息 2.站点名称改为你的论坛名称,它会出现在内页的标题最末位. ...