.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