.NET中的MD5及hash加密以及密文输出(C#)

在网上搜罗了一下,搜到很多雷同文章,摘引如下:

public static string MD5(string Sourcein)

   {

    MD5CryptoServiceProvider MD5CSP = new MD5CryptoServiceProvider();

    byte[] MD5Source = System.Text.Encoding.UTF8.GetBytes(Sourcein);

    byte[] MD5Out = MD5CSP.ComputeHash(MD5Source);

    return Convert.ToBase64String(MD5Out);

   }

而如此做的话,Convert.ToBase64String出来的会是一串包含字母数字以及符合的字符串,例如:afw1fw3j=-

这样是与储存在数据库中的加密后字符串不相同的,自然无法比较。数据库中储存的是类似BABA327D241746EE0829E7E88117D4D5这样的字符串。

Google许久,未曾找到在ASP.NET中是怎么实现上述样子的输出的。于是自己动手,查阅MSDN,无数次实践,终于找到方法,就是用.NET中的BitConverter类,废话不多说,把代码贴出来,

private void btnMd5_Click( object sender, EventArgs e ) {
       if (string.IsNullOrEmpty(txtSrc.Text)) {
         txtSrc.Text = "Please Input your string to Encrype";
         return;
       }
       MD5CryptoServiceProvider md5Encrypter = new MD5CryptoServiceProvider();
       byte[] theSrc = Encoding.UTF8.GetBytes( txtSrc.Text );
       byte[] theResBytes = md5Encrypter.ComputeHash( theSrc );
       txtResult.Text = BitConverter.ToString( theResBytes ).Replace( "-", "" );
     }
     private void btnHash_Click( object sender, EventArgs e ) {
       if (string.IsNullOrEmpty( txtSrc.Text )) {
         txtSrc.Text = "Please Input your string to Encrype";
         return;
       }
       HashAlgorithm hashEncrypter = new SHA1Managed();
       byte[] theSrc = Encoding.UTF8.GetBytes( txtSrc.Text );
       byte[] theResBytes = hashEncrypter.ComputeHash( theSrc );
       txtResult.Text = BitConverter.ToString( theResBytes ).Replace( "-", "" );
     }

时间: 2025-01-27 00:31:03

.NET中的MD5及hash加密以及密文输出(C#)的相关文章

ASP.NET中MD5和SHA1加密的几种方法

MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由Mit Laboratory for Computer Science和Rsa data security inc的Ronald l. rivest开发出来,经md2.md3和md4发展而来.它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数).不管是md2.md4还是md5,它们都需要获得一个随机长度的信息并产

ASP.NET中MD5与SHA1加密的几种方法

MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由Mit Laboratory for Computer Science和Rsa data security inc的Ronald l. rivest开发出来,经md2.md3和md4发展而来.它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数).不管是md2.md4还是md5,它们都需要获得一个随机长度的信息并产

java中spring-shiro实现密码的MD5盐值加密

看了网上很多教程,都提到有配置spring shiro的密码加密方式,甚至给出了自定义的Class来实现.却很少有通过配置来解决的. 密码的盐值加密方式应该是非常通用的,也可以算是基础吧.按理说spring shiro不可能没有实现,让用户自己去实现吧. 通过读源码看各种关系,摸索出shiro的MD5盐值加密方式,分享一下 (shiro的maven仓库中的source从来都是个空文件,github上的源码又没有stable版本的代码,要调试很恼火),当然阅读源码可以直接到github上,http

iOS中使用MD5加密字符串_IOS

1,新建NSString的分类,记得添加加密所需的头文件#import <CommonCrypto/CommonDigest.h> , NSString+MD5.h: #import <Foundation/Foundation.h> #import <CommonCrypto/CommonDigest.h> @interface NSString (MD5) + (NSString *)md5To32bit:(NSString *)str; @end 2,编写加密方法

android开发中MD5和SHA1加密实例

首先,我们来分享MD5和SHA1加密的函数. public class MD5 { private static String key = "a6U&1$Ip[Jr/sed]Rfvn=O>Mz+}lXN*%-gLcGD|0"; //MD5加密实例public static String getMD5(String str) throws NoSuchAlgorithmException {MessageDigest md5 = null;try {md5 = Messag

php常用hash加密函数_php技巧

本文实例讲述了php常用hash加密函数.分享给大家供大家参考.具体分析如下: 复制代码 代码如下: $hash_list=hash_algos();  //返回注册的hash规则列表 print_r($hash_list); //显示结果 创建文件以计算哈希值:file_put_contents('example.txt', 'the quick brown fox jumped over the lazy dog.'); 输出哈希值信息: 复制代码 代码如下: echo hash_file(

javascript实现base64 md5 sha1 密码加密_javascript技巧

1.base64加密 在页面中引入base64.js文件,调用方法为: <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>base64加密</title> <script type="text/javascript" src="base64.js"></script> <scr

详解.NET中的加密算法总结(自定义加密Helper类续)_实用技巧

1.1.1 摘要 相信许多人都使用过.NET提供的加密算法,而且在使用的过程我们必须了解每种加密算法的特点(对称或非对称,密钥长度和初始化向量等等).我也看到过很多人写过.NET中加密算法总结,但我发现个别存在一些问题,很多人喜欢罗列每种加密算法的具体实现,假设我们要求实现AES和Triple DES加密算法,的确可以很多地分别给出它们的具体实现.  那我们真的有必要给出每个加密算法的具体实现吗?而且这样的设计不符合OOP设计思想,最重要的是我们要维护多个加密算法啊!OK接下来让我们实行一个可扩

ASP.NET with C#使用md5,sha1加密初探

asp.net|加密 /******雪龙原创*******///版权所有,末经作者同意不得转载 今天的实验还是比较顺利的,早上正则表达式用得很爽,晚上的MD5和SHA1加密也是没什么难度就用上了,下面是实验总结(洗衣机在洗衣服,趁机上网写点东西). 先补充点加密知识:MD5和SHA1都是散列加密技术,所谓的散列加密就是无论你的输入字符串是什么,有多长,加密后都变成唯一的定长的加密串,MD5加密后的密串长度有16位的和32位两种,SHA1我今天数了一下有40位,这种加密方式的特点是加密方式是公开的