欢迎来到天天文库
浏览记录
ID:12784359
大小:30.15 KB
页数:24页
时间:2018-07-19
《c#常用的加密解密方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C#常用的加密解密方法开篇C#内置很多加密解密的方法,有MD5,SHA1,base64等。这里会简单介绍下这几个方法以及用法。 这几个加密解密会分为两类说,一类是只有加密,没有解密类型的MD5,SHA1。此类加密常用在数据校验。一类是有加密,有解密类型的base64,DES,RSA。此类加密常用在数据传输。数据校验型MD5MessageDigestAlgorithmMD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。该算法的文件号为RFC1321(R.Rivest,MITLaboratoryforComputerScienceand
2、RSADataSecurityInc.April1992)。MD5即Message-DigestAlgorithm5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。p.s.内容来自百度百科。MD5主要是用来做数据校验的。拿网上下载软件来说,有很多软件在下载的时候都会提供一个MD5校验码,就是用来校验软件是否被他人修改过。还有就是用户账号系统,用户注册后,数据库存储的不是明文密码,而是MD5码。测试
3、代码:演示如何获取一个字符串的MD5hash以及校验MD5hash:usingSystem;usingSystem.Security.Cryptography;usingSystem.Text;namespaceMD5Test{classProgram{staticvoidMain(string[]args){stringsource="HappyBirthday!";stringhash=GetMd5Hash(source);Console.WriteLine("TheMD5hashof"+source+"is:"+hash);Console.WriteLine("Verifyi
4、ngthehash...");if(VerifyMd5Hash(source,hash)){Console.WriteLine("Thehashesarethesame.");}else{Console.WriteLine("Thehashesarenotsame.");}Console.ReadKey();}//////获取一个字符串的32位16进制字符串格式MD5码//////原字符串///staticstringGetMd5Hash(stringi
5、nput){MD5CryptoServiceProvidermd5Hasher=newMD5CryptoServiceProvider();byte[]inputBytes=Encoding.Default.GetBytes(input);byte[]data=md5Hasher.ComputeHash(inputBytes);StringBuildersBuilder=newStringBuilder();//将data中的每个字符都转换为16进制的for(inti=0;i6、"));}returnsBuilder.ToString();}//////验证Md5hash//////原字符串///原字符串的md5码///staticboolVerifyMd5Hash(stringinput,stringhash){stringhashOfInput=GetMd5Hash(input);StringComparercomparer=StringComparer.OrdinalIg7、noreCase;if(0==comparer.Compare(hashOfInput,hash)){returntrue;}else{returnfalse;}}}}SHA1安全哈希算法(SecureHashAlgorithm)主要适用于数字签名标准(DigitalSignatureStandardDSS)里面定义的数字签名算法(DigitalSignatureAlgorithmDSA)。对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要。当接收到消
6、"));}returnsBuilder.ToString();}//////验证Md5hash//////原字符串///原字符串的md5码///staticboolVerifyMd5Hash(stringinput,stringhash){stringhashOfInput=GetMd5Hash(input);StringComparercomparer=StringComparer.OrdinalIg
7、noreCase;if(0==comparer.Compare(hashOfInput,hash)){returntrue;}else{returnfalse;}}}}SHA1安全哈希算法(SecureHashAlgorithm)主要适用于数字签名标准(DigitalSignatureStandardDSS)里面定义的数字签名算法(DigitalSignatureAlgorithmDSA)。对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要。当接收到消
此文档下载收益归作者所有