返回首页

请帮助...
如何创建密码加密解密在C#简单的方法

回答

评论会员:游客 时间:2012/02/07
通常情况下,我会tellyou使用谷歌,因为这有点儿东西是非常适用的,但我只是发生在一个项目中包含的代码,你需要的工作。总之,你很幸运。了解如何使用谷歌-这里是一个完整的源文件:codeprelang="cs"spanclass="code-keyword"using/spanSystem;spanclass="code-keyword"using/spanSystem.IO;spanclass="code-keyword"using/spanSystem.Text;spanclass="code-keyword"using/spanSystem.Security.Cryptography; spanclass="code-keyword"namespace/spanPaddedwall.CryptoLib{spanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"basicEncrption/decryptionfunctionaility/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-keyword"public/spanspanclass="code-keyword"class/spanCrypto{spanclass="code-preprocessor"#region/spanenums,constants&fieldsspanclass="code-comment"///spanspanclass="code-comment"typesofsymmetricencyption/spanspanclass="code-keyword"public/spanspanclass="code-keyword"enum/spanCryptoTypes{encTypeDES=spanclass="code-digit"0/span,encTypeRC2,encTypeRijndael,encTypeTripleDES} spanclass="code-keyword"private/spanspanclass="code-keyword"const/spanspanclass="code-keyword"string/spanCRYPT_DEFAULT_PASSWORD=spanclass="code-string""/spanspanclass="code-string"CB06cfE507a1"/span;spanclass="code-keyword"private/spanspanclass="code-keyword"const/spanCryptoTypesCRYPT_DEFAULT_METHOD=CryptoTypes.encTypeRijndael; spanclass="code-keyword"private/spanspanclass="code-keyword"byte/span[]mKey={spanclass="code-digit"1/span,spanclass="code-digit"2/span,spanclass="code-digit"3/span,spanclass="code-digit"4/span,spanclass="code-digit"5/span,spanclass="code-digit"6/span,spanclass="code-digit"7/span,spanclass="code-digit"8/span,spanclass="code-digit"9/span,spanclass="code-digit"10/span,spanclass="code-digit"11/span,spanclass="code-digit"12/span,spanclass="code-digit"13/span,spanclass="code-digit"14/span,spanclass="code-digit"15/span,spanclass="code-digit"16/span,spanclass="code-digit"17/span,spanclass="code-digit"18/span,spanclass="code-digit"19/span,spanclass="code-digit"20/span,spanclass="code-digit"21/span,spanclass="code-digit"22/span,spanclass="code-digit"23/span,spanclass="code-digit"24/span};spanclass="code-keyword"private/spanspanclass="code-keyword"byte/span[]mIV={spanclass="code-digit"65/span,spanclass="code-digit"110/span,spanclass="code-digit"68/span,spanclass="code-digit"26/span,spanclass="code-digit"69/span,spanclass="code-digit"178/span,spanclass="code-digit"200/span,spanclass="code-digit"219/span};spanclass="code-keyword"private/spanspanclass="code-keyword"byte/span[]SaltByteArray={0x49,0x76,0x61,0x6e,0x20,0x4d,0x65,0x64,0x76,0x65,0x64,0x65,0x76};spanclass="code-keyword"private/spanCryptoTypesmCryptoType=CRYPT_DEFAULT_METHOD;spanclass="code-keyword"private/spanspanclass="code-keyword"string/spanmPassword=CRYPT_DEFAULT_PASSWORD;spanclass="code-preprocessor"#endregion/span spanclass="code-preprocessor"#region/spanConstructors spanclass="code-keyword"public/spanCrypto(){calculateNewKeyAndIV();} spanclass="code-keyword"public/spanCrypto(CryptoTypesCryptoType){spanclass="code-keyword"this/span.CryptoType=CryptoType;}spanclass="code-preprocessor"#endregion/span spanclass="code-preprocessor"#region/spanProps spanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"typeofencryption/decryptionused/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-keyword"public/spanCryptoTypesCryptoType{spanclass="code-keyword"get/span{spanclass="code-keyword"return/spanmCryptoType;}spanclass="code-keyword"set/span{spanclass="code-keyword"if/span(mCryptoType!=value){mCryptoType=value;calculateNewKeyAndIV();}}} spanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"PassswordKeyProperty./spanspanclass="code-SummaryComment"////spanspanclass="code-comment"Thepasswordkeyusedwhenencrypting/decrypting/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-keyword"public/spanspanclass="code-keyword"string/spanPassword{spanclass="code-keyword"get/span{spanclass="code-keyword"return/spanmPassword;}spanclass="code-keyword"set/span{spanclass="code-keyword"if/span(mPassword!=value){mPassword=value;calculateNewKeyAndIV();}}}spanclass="code-preprocessor"#endregion/span spanclass="code-preprocessor"#region/spanEncryption spanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"Encryptastring/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment"name="inputText"/spanspanclass="code-SummaryComment">/spantexttoencryptspanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"returns/spanspanclass="code-SummaryComment">/spananencryptedstringspanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"returns/spanspanclass="code-SummaryComment">/span/spanspanclass="code-keyword"public/spanspanclass="code-keyword"string/spanEncrypt(spanclass="code-keyword"string/spaninputText){spanclass="code-comment"///spanspanclass="code-comment"declareanewencoder/spanUTF8EncodingUTF8Encoder=spanclass="code-keyword"new/spanUTF8Encoding();spanclass="code-comment"///spanspanclass="code-comment"getbyterepresentationofstring/spanspanclass="code-keyword"byte/span[]inputBytes=UTF8Encoder.GetBytes(inputText); spanclass="code-comment"///spanspanclass="code-comment"convertbacktoastring/spanspanclass="code-keyword"return/spanConvert.ToBase64String(EncryptDecrypt(inputBytes,spanclass="code-keyword"true/span));} spanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"Encryptstringwithuserdefinedpassword/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment"name="inputText"/spanspanclass="code-SummaryComment">/spantexttoencryptspanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment"name="password"/spanspanclass="code-SummaryComment">/spanpasswordtousewhenencryptingspanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"returns/spanspanclass="code-SummaryComment">/spananencryptedstringspanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"returns/spanspanclass="code-SummaryComment">/span/spanspanclass="code-keyword"public/spanspanclass="code-keyword"string/spanEncrypt(spanclass="code-keyword"string/spaninputText,spanclass="code-keyword"string/spanpassword){spanclass="code-keyword"this/span.Password=password;spanclass="code-keyword"return/spanspanclass="code-keyword"this/span.Encrypt(inputText);} spanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"Encryptstringacc.tocryptoTypeandwithuserdefinedpassword/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment"name="inputText"/spanspanclass="code-SummaryComment">/spantexttoencryptspanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment"name="password"/spanspanclass="code-SummaryComment">/spanpasswordtousewhenencryptingspanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment"name="cryptoType"/spanspanclass="code-SummaryComment">/spantypeofencryptionspanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"returns/spanspanclass="code-SummaryComment">/spananencryptedstringspanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"returns/spanspanclass="code-SummaryComment">/span/spanspanclass="code-keyword"public/spanspanclass="code-keyword"string/spanEncrypt(spanclass="code-keyword"string/spaninputText,spanclass="code-keyword"string/spanpassword,CryptoTypescryptoType){mCryptoType=cryptoType;spanclass="code-keyword"return/spanspanclass="code-keyword"this/span.Encrypt(inputText,password);} spanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"Encryptstringacc.tocryptoType/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment"name="inputText"/spanspanclass="code-SummaryComment">/spantexttoencryptspanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment"name="cryptoType"/spanspanclass="code-SummaryComment">/spantypeofencryptionspanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"returns/spanspanclass="code-SummaryComment">/spananencryptedstringspanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"returns/spanspanclass="code-SummaryComment">/span/spanspanclass="code-keyword"public/spanspanclass="code-keyword"string/spanEncrypt(spanclass="code-keyword"string/spaninputText,CryptoTypescryptoType){spanclass="code-keyword"this/span.CryptoType=cryptoType;spanclass="code-keyword"return/spanspanclass="code-keyword"this/span.Encrypt(inputText);} spanclass="code-preprocessor"#endregion/span spanclass="code-preprocessor"#region/spanDecryption spanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"decryptsastring/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment"name="inputText"/spanspanclass="code-SummaryComment">/spanstringtodecryptspanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"returns/spanspanclass="code-SummaryComment">/spanadecryptedstringspanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"returns/spanspanclass="code-SummaryComment">/span/spanspanclass="code-keyword"public/spanspanclass="code-keyword"string/spanDecrypt(spanclass="code-keyword"string/spaninputText){spanclass="code-comment"///spanspanclass="code-comment"declareanewencoder/spanUTF8EncodingUTF8Encoder=spanclass="code-keyword"new/spanUTF8Encoding();spanclass="code-comment"///spanspanclass="code-comment"getbyterepresentationofstring/spanspanclass="code-keyword"byte/span[]inputBytes=Convert.FromBase64String(inputText); spanclass="code-comment"///spanspanclass="code-comment"convertbacktoastring/spanspanclass="code-keyword"return/spanUTF8Encoder.GetString(EncryptDecrypt(inputBytes,spanclass="code-keyword"false/span));} spanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"decryptsastringusingauserdefinedpasswordkey/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment"name="inputText"/spanspanclass="code-SummaryComment">/spanstringtodecryptspanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment"name="password"/spanspanclass="code-SummaryComment">/spanpasswordtousewhendecryptingspanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"returns/spanspanclass="code-SummaryComment">/spanadecryptedstringspanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"returns/spanspanclass="code-SummaryComment">/span/spanspanclass="code-keyword"public/spanspanclass="code-keyword"string/spanDecrypt(spanclass="code-keyword"string/spaninputText,spanclass="code-keyword"string/spanpassword){spanclass="code-keyword"this/span.Password=password;spanclass="code-keyword"return/spanDecrypt(inputText);} spanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"decryptsastringacc.todecryptiontypeanduserdefinedpasswordkey/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment"name="inputText"/spanspanclass="code-SummaryComment">/spanstringtodecryptspanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment"name="password"/spanspanclass="code-SummaryComment">/spanpasswordkeyusedtodecryptspanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment"name="cryptoType"/spanspanclass="code-SummaryComment">/spantypeofdecryptionspanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"returns/spanspanclass="code-SummaryComment">/spanadecryptedstringspanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"returns/spanspanclass="code-SummaryComment">/span/spanspanclass="code-keyword"public/spanspanclass="code-keyword"string/spanDecrypt(spanclass="code-keyword"string/spaninputText,spanclass="code-keyword"string/spanpassword,CryptoTypescryptoType){mCryptoType=cryptoType;spanclass="code-keyword"return/spanDecrypt(inputText,password);} spanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"decryptsastringacc.tothedecryptiontype/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment"name="inputText"/spanspanclass="code-SummaryComment">/spanstringtodecryptspanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment"name="cryptoType"/spanspanclass="code-SummaryComment">/spantypeofdecryptionspanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"returns/spanspanclass="code-SummaryComment">/spanadecryptedstringspanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"returns/spanspanclass="code-SummaryComment">/span/spanspanclass="code-keyword"public/spanspanclass="code-keyword"string/spanDecrypt(spanclass="code-keyword"string/spaninputText,CryptoTypescryptoType){spanclass="code-keyword"this/span.CryptoType=cryptoType;spanclass="code-keyword"return/spanDecrypt(inputText);}spanclass="code-preprocessor"#endregion/span spanclass="code-preprocessor"#region/spanSymmetricEngine spanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"performstheactualenc/dec./spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment"name="inputBytes"/spanspanclass="code-SummaryComment">/spaninputbytearrayspanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment"name="Encrpyt"/spanspanclass="code-SummaryComment">/spanwheatherornottoperformenc/decspanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"returns/spanspanclass="code-SummaryComment">/spanbytearrayoutputspanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"returns/spanspanclass="code-SummaryComment">/span/spanspanclass="code-keyword"private/spanspanclass="code-keyword"byte/span[]EncryptDecrypt(spanclass="code-keyword"byte/span[]inputBytes,spanclass="code-keyword"bool/spanEncrpyt){spanclass="code-comment"///spanspanclass="code-comment"getthecorrecttransform/spanICryptoTransformtransform=getCryptoTransform(Encrpyt); spanclass="code-comment"///spanspanclass="code-comment"memorystreamforoutput/spanMemoryStreammemStream=spanclass="code-keyword"new/spanMemoryStream(); spanclass="code-keyword"try/span{spanclass="code-comment"///spanspanclass="code-comment"setupthecryption-outputwrittentomemstream/spanCryptoStreamcryptStream=spanclass="code-keyword"new/spanCryptoStream(memStream,transform,CryptoStreamMode.Write); spanclass="code-comment"///spanspanclass="code-comment"writedatatocryptionengine/spancryptStream.Write(inputBytes,spanclass="code-digit"0/span,inputBytes.Length); spanclass="code-comment"///spanspanclass="code-comment"wearefinished/spancryptStream.FlushFinalBlock(); spanclass="code-comment"///spanspanclass="code-comment"getresult/spanspanclass="code-keyword"byte/span[]output=memStream.ToArray(); spanclass="code-comment"///spanspanclass="code-comment"finishedwithengine,soclosethestream/spancryptStream.Close(); spanclass="code-keyword"return/spanoutput;}spanclass="code-keyword"catch/span(Exceptione){spanclass="code-comment"///spanspanclass="code-comment"throwanerror/spanspanclass="code-keyword"throw/spanspanclass="code-keyword"new/spanException(spanclass="code-string""/spanspanclass="code-string"Errorinsymmetricengine.Error:"/span+e.Message,e);}} spanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"returnsthesymmetricengineandcreatestheencyptor/decryptor/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment"name="encrypt"/spanspanclass="code-SummaryComment">/spanwhethertoreturnaencrpytorordecryptorspanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"returns/spanspanclass="code-SummaryComment">/spanICryptoTransformspanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"returns/spanspanclass="code-SummaryComment">/span/spanspanclass="code-keyword"private/spanICryptoTransformgetCryptoTransform(spanclass="code-keyword"bool/spanencrypt){SymmetricAlgorithmSA=selectAlgorithm();SA.Key=mKey;SA.IV=mIV;spanclass="code-keyword"if/span(encrypt){spanclass="code-keyword"return/spanSA.CreateEncryptor();}spanclass="code-keyword"else/span{spanclass="code-keyword"return/spanSA.CreateDecryptor();}}spanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"returnsthespecificsymmetricalgorithmacc.tothecryptotype/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"returns/spanspanclass="code-SummaryComment">/spanSymmetricAlgorithmspanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"returns/spanspanclass="code-SummaryComment">/span/spanspanclass="code-keyword"private/spanSymmetricAlgorithmselectAlgorithm(){SymmetricAlgorithmSA;spanclass="code-keyword"switch/span(mCryptoType){spanclass="code-keyword"case/spanCryptoTypes.encTypeDES:SA=DES.Create();spanclass="code-keyword"break/span;spanclass="code-keyword"case/spanCryptoTypes.encTypeRC2:SA=RC2.Create();spanclass="code-keyword"break/span;spanclass="code-keyword"case/spanCryptoTypes.encTypeRijndael:SA=Rijndael.Create();spanclass="code-keyword"break/span;spanclass="code-keyword"case/spanCryptoTypes.encTypeTripleDES:SA=TripleDES.Create();spanclass="code-keyword"break/span;spanclass="code-keyword"default/span:SA=TripleDES.Create();spanclass="code-keyword"break/span;}spanclass="code-keyword"return/spanSA;} spanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"calculatesthekeyandIVacc.tothesymmetricmethodfromthepassword/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"keyandIVsizedependantonsymmetricmethod/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-keyword"private/spanspanclass="code-keyword"void/spancalculateNewKeyAndIV(){spanclass="code-comment"///spanspanclass="code-comment"usesaltsothatkeycannotbefoundwithdictionaryattack/spanPasswordDeriveBytespdb=spanclass="code-keyword"new/spanPasswordDeriveBytes(mPassword,SaltByteArray);SymmetricAlgorithmalgo=selectAlgorithm();mKey=pdb.GetBytes(algo.KeySize/spanclass="code-digit"8/span);mIV=pdb.GetBytes(algo.BlockSize/spanclass="code-digit"8/span);} spanclass="code-preprocessor"#endregion/span} spanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"Hashingclass.Onlystaticmemberssononeedtocreateaninstance/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-keyword"public/spanspanclass="code-keyword"class/spanHashing{spanclass="code-preprocessor"#region/spanspanclass="code-keyword"enum/span,constantsandfieldsspanclass="code-comment"///spanspanclass="code-comment"typesofhashingavailable/spanspanclass="code-keyword"public/spanspanclass="code-keyword"enum/spanHashingTypes{SHA,SHA256,SHA384,SHA512,MD5}spanclass="code-preprocessor"#endregion/span spanclass="code-preprocessor"#region/spanspanclass="code-keyword"static/spanmembersspanclass="code-keyword"public/spanspanclass="code-keyword"static/spanspanclass="code-keyword"string/spanHash(spanclass="code-SDKkeyword"String/spaninputText){spanclass="code-keyword"return/spanComputeHash(inputText,HashingTypes.MD5);} spanclass="code-keyword"public/spanspanclass="code-keyword"static/spanspanclass="code-keyword"string/spanHash(spanclass="code-SDKkeyword"String/spaninputText,HashingTypeshashingType){spanclass="code-keyword"return/spanComputeHash(inputText,hashingType);} spanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"returnstrueiftheinputtextisequaltohashedtext/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment"name="inputText"/spanspanclass="code-SummaryComment">/spanunhashedtexttotestspanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment"name="hashText"/spanspanclass="code-SummaryComment">/spanalreadyhashedtextspanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"returns/spanspanclass="code-SummaryComment">/spanbooleantrueorfalsespanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"returns/spanspanclass="code-SummaryComment">/span/spanspanclass="code-keyword"public/spanspanclass="code-keyword"static/spanspanclass="code-keyword"bool/spanisHashEqual(spanclass="code-keyword"string/spaninputText,spanclass="code-keyword"string/spanhashText){spanclass="code-keyword"return/span(Hash(inputText)==hashText);} spanclass="code-keyword"public/spanspanclass="code-keyword"static/spanspanclass="code-keyword"bool/spanisHashEqual(spanclass="code-keyword"string/spaninputText,spanclass="code-keyword"string/spanhashText,HashingTypeshashingType){spanclass="code-keyword"return/span(Hash(inputText,hashingType)==hashText);}spanclass="code-preprocessor"#endregion/span spanclass="code-preprocessor"#region/spanHashingEngine spanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"computesthehashcodeandconvertsittostring/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment"name="inputText"/spanspanclass="code-SummaryComment">/spaninputtexttobehashedspanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment"name="hashingType"/spanspanclass="code-SummaryComment">/spantypeofhashingtousespanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"returns/spanspanclass="code-SummaryComment">/spanhashedstringspanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"returns/spanspanclass="code-SummaryComment">/span/spanspanclass="code-keyword"private/spanspanclass="code-keyword"static/spanspanclass="code-keyword"string/spanComputeHash(spanclass="code-keyword"string/spaninputText,HashingTypeshashingType){HashAlgorithmHA=getHashAlgorithm(hashingType); spanclass="code-comment"///spanspanclass="code-comment"declareanewencoder/spanUTF8EncodingUTF8Encoder=spanclass="code-keyword"new/spanUTF8Encoding();spanclass="code-comment"///spanspanclass="code-comment"getbyterepresentationofinputtext/spanspanclass="code-keyword"byte/span[]inputBytes=UTF8Encoder.GetBytes(inputText); spanclass="code-comment"///spanspanclass="code-comment"hashtheinputbytearray/spanspanclass="code-keyword"byte/span[]output=HA.ComputeHash(inputBytes); spanclass="code-comment"///spanspanclass="code-comment"convertoutputbytearraytoastring/spanspanclass="code-keyword"return/spanConvert.ToBase64String(output);} spanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"returnsthespecifichashingalorithm/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment"name="hashingType"/spanspanclass="code-SummaryComment">/spantypeofhashingtousespanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"param/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"returns/spanspanclass="code-SummaryComment">/spanHashAlgorithmspanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"returns/spanspanclass="code-SummaryComment">/span/spanspanclass="code-keyword"private/spanspanclass="code-keyword"static/spanHashAlgorithmgetHashAlgorithm(HashingTypeshashingType){spanclass="code-keyword"switch/span(hashingType){spanclass="code-keyword"case/spanHashingTypes.MD5:spanclass="code-keyword"return/spanspanclass="code-keyword"new/spanMD5CryptoServiceProvider();spanclass="code-keyword"case/spanHashingTypes.SHA:spanclass="code-keyword"return/spanspanclass="code-keyword"new/spanSHA1CryptoServiceProvider();spanclass="code-keyword"case/spanHashingTypes.SHA256:spanclass="code-keyword"return/spanspanclass="code-keyword"new/spanSHA256Managed();spanclass="code-keyword"case/spanHashingTypes.SHA384:spanclass="code-keyword"return/spanspanclass="code-keyword"new/spanSHA384Managed();spanclass="code-keyword"case/spanHashingTypes.SHA512:spanclass="code-keyword"return/spanspanclass="code-keyword"new/spanSHA512Managed();spanclass="code-keyword"default/span:spanclass="code-keyword"return/spanspanclass="code-keyword"new/spanMD5CryptoServiceProvider();}}spanclass="code-preprocessor"#endregion/span } spanclass="code-comment"///spanspanclass="code-comment"publicclasstestCrypt/spanspanclass="code-comment"///spanspanclass="code-comment"{/spanspanclass="code-comment"///spanspanclass="code-comment"publicvoidtestEncryption()/spanspanclass="code-comment"///spanspanclass="code-comment"{/spanspanclass="code-comment"///spanspanclass="code-comment"stringinput="Thi$is@str!&ntotEstencrypti0n!";/spanspanclass="code-comment"///spanspanclass="code-comment"Cryptoc=newCrypto(Utils.Crypto.CryptoTypes.encTypeTripleDES);/spanspanclass="code-comment"///spanspanclass="code-comment"strings1=c.Encrypt(input);/spanspanclass="code-comment"///spanspanclass="code-comment"strings2=c.Decrypt(s1);/spanspanclass="code-comment"///spanspanclass="code-comment"Assert.IsTrue(s2==input);/spanspanclass="code-comment"///spanspanclass="code-comment"s1=Hashing.Hash(input);/spanspanclass="code-comment"///spanspanclass="code-comment"s2=Hashing.Hash(input,Utils.Hashing.HashingTypes.MD5);/spanspanclass="code-comment"///spanspanclass="code-comment"Assert.IsTrue(s1==s2);/spanspanclass="code-comment"///spanspanclass="code-comment"Assert.IsTrue(Hashing.isHashEqual(input,s1));/spanspanclass="code-comment"///spanspanclass="code-comment"s1=Hashing.Hash(input,Utils.Hashing.HashingTypes.SHA512);/spanspanclass="code-comment"///spanspanclass="code-comment"}/spanspanclass="code-comment"///spanspanclass="code-comment"}/span}/pre/code
KARTHIK Harve
评论会员:游客 时间:2012/02/07
检查这些链接..imgsrc={A}{A2}{A3的}希望这有助于..
Anuja帕瓦尔多尔
评论会员:游客 时间:2012/02/07
查看此主题,{A4纸}]
sudheer.learner
评论会员:游客 时间:2012/02/07
喜Elanchezian,这个代码是对你有帮助对于MD5哈希在C#使用此方法。 {C}关于Sudheer.N
Anuja帕瓦尔多尔:约翰给予正确的解决方案,您可以在SQL查询,这也

密码字段中应输入的二进制格式。时获取记录,然后再转换为字符串格式。尝试,它会更快
评论会员:游客 时间:2012/02/07
Sarvesh库马尔・古普塔
尝试
NBSP
解决方案1:

如果您的SQL服务器是SQL Server身份验证,然后只使用下面的ConnectionString { BR}


LT; AppSettinggt;
LT添加关键的ConnectionString值="数据访问此
NBSP的ConnectionString;
使用System.Configuration;
字符串str = ConfigurationManager.AppSettings ["的ConnectionString"]

解决方案2:
NBSP
,如果您的SQL服务器是Windows身份验证,那么就使用后的ConnectionString
NBSP

LT添加关键的ConnectionString;价值= "数据源=服务器名称,数据库= DatabaseName的集成安全性=假"GT
LT ;/ AppSettinggt


使用System.Configuration;
字符串str = ConfigurationManager.AppSettings ["的ConnectionString"]


我认为这将解决这个问题...