.net如何对字符串进行md5或sha1加密?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.net如何对字符串进行md5或sha1加密?相关的知识,希望对你有一定的参考价值。

string text1 = "123456";

//方法1:引用了System.Web程序集的使用方法。
string md5Result = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile( text1, "MD5" );
string sha1Result = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile( text1, "SHA1" );

//方法2:未引用System.Web
byte[] text1Bytes = System.Text.Encoding.UTF8.GetBytes( text1 );
MD5 md5 = MD5.Create();
byte[] md5Bytes = md5.ComputeHash( text1Bytes );
StringBuilder md5ResultBuilder = new StringBuilder( 32 );
for ( int i = 0; i < md5Bytes.Length; i++ )

md5ResultBuilder.AppendFormat( "0:X2", md5Bytes[ i ] );

string md5Result1 = md5ResultBuilder.ToString();

SHA1 sha1 = SHA1.Create();
byte[] sha1Bytes = sha1.ComputeHash( text1Bytes );
StringBuilder sha1ResultBuilder = new StringBuilder( 40 );
for ( int i = 0; i < sha1Bytes.Length; i++ )

sha1ResultBuilder.AppendFormat( "0:X2", sha1Bytes[ i ] );

string sha1Result1 = sha1ResultBuilder.ToString();

PS:Encoding 的命名空间是 System.Text
MD5和SHA1的命名空间是System.Security.Cryptography

MD5加密结果是 128位,即16字节,转换成字符串,就是32个字符。
SHA加密结果是 160位,即20字节,转换成字符串,就是40个字符。
参考技术A 比如:对字符ss加密.
Strin ss="8888";
Strin pp=System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(ss, "md5")

输出pp就是加密过的.本回答被提问者采纳
参考技术B html,CSS,C#基本概念都懂

sas如何对数据进行sha256加密

个人是今天第一次使用Sha256对数据进行加密操作,以往都是直接使用MD5加密最多也就是加盐之后再进行加密
不过可能是个人应用的只是简单的一个对数据的加密,所以感觉目前和MD5差距并不是很大.
1.首先要找到一个合适的加密工具类(网上一搜一大堆),我的放在最下面了
2.我目前的应用步骤
我这边先使用时候,我会根据id+key(这两个都是生成的Longl类型的串)储在数据库中
将两者拼接在一起的字符串使用工具类加密,返还给接收数据的页面
查询数据的时候,调用的地方会给我回传id,和一个密匙
我首先先通过id,查询出数据库真实的数据,之前数据在存储数据库中会存储一个key,
拿出这个ke与id按照之前的加密方式在加密一次,之后与前端页面传来的密匙进行比较,
当两者一致时候,我把正确的数据回传给调用者,不一致则提示密匙错误
因为是第一次使用sha256,所以只是简单的应用,可能与每个人的应用不一样,也可能我的使用方式错了,请您指出来,我好及时改正
参考技术A 使用时候,我会根据id+key(这两个都是生成的Longl类型的串)储在数据库中
将两者拼接在一起的字符串使用工具类加密,返还给接收数据的页面
查询数据的时候,调用的地方会给我回传id,和一个密匙
我首先先通过id,查询出数据库真实的数据,之前数据在存储数据库中会存储一个key,
拿出这个ke与id按照之前的加密方式在加密一次,之后与前端页面传来的密匙进行比较,
当两者一致时候,我把正确的数据回传给调用者,不一致则提示密匙错误
参考技术B 1.首先要找到一个合适的加密工具类(网上一搜一大堆),我的放在最下面了
2.我目前的应用步骤
我这边先使用时候,我会根据id+key(这两个都是生成的Longl类型的串)储在数据库中
3.将两者拼接在一起的字符串使用工具类加密,返还给接收数据的页面
4.查询数据的时候,调用的地方会给我回传id,和一个密匙
5.我首先先通过id,查询出数据库真实的数据,之前数据在存储数据库中会存储一个key,
6.拿出这个ke与id按照之前的加密方式在加密一次,之后与前端页面传来的密匙进行比较,
当两者一致时候,我把正确的数据回传给调用者,不一致则提示密匙错误

以上是关于.net如何对字符串进行md5或sha1加密?的主要内容,如果未能解决你的问题,请参考以下文章

字符串的加密与解密(3DES、sha1、MD5) - swift3.1

python 中md5 和 sha1 加密, md5 + os.urandom 生成全局唯一ID

C#中使用SHA1和MD5加密字符串

MD5加密一个文件怎么做???

[转]加密算法(DES,AES,RSA,MD5,SHA1,Base64)比较和项目应用

PHP数据加密技术之一---MD5()和Sha1()加密