日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C#加密解密大全

發布時間:2024/9/20 C# 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#加密解密大全 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、方法一?(不可逆加密)


????public?string?EncryptPassword(string?PasswordString,string?PasswordFormat?)?
????{?
???????string??encryptPassword?=?null;
???????if?(PasswordFormat="SHA1")
???????{?
??????????encryptPassword=FormsAuthortication.HashPasswordForStoringInConfigFile(PasswordString?,"SHA1");?
???????}?
???????elseif?(PasswordFormat="MD5")?
???????{?
??????????encryptPassword=FormsAuthortication.HashPasswordForStoringInConfigFile(PasswordString?,"MD5");?
???????}
?????????return?encryptPassword?;
????}

2、方法二?(可逆加密)


?public?interface?IBindesh
????{
????string?encode(string?str);
????string?decode(string?str);
?????}
????public?class?EncryptionDecryption?:?IBindesh
????{
????????public?string?encode(string?str)
?????????{
????????????string?htext?=?"";?
????????????for?(?int?i?=?0;?i?<?str.Length;?i++)
????????????{
????????????????htext?=?htext?+?(char)?(str[i]?+?10?-?1?*?2);
????????????}
????????????return?htext;
?????}
????????public?string?decode(string?str)
????????{
????????????string?dtext?=?"";?
????????????for?(?int?i=0;?i?<?str.Length;?i++)
????????????{
????????????????dtext?=?dtext?+?(char)?(str[i]?-?10?+?1*2);
????????????}
????????????return?dtext;
????????}

3、方法三?(可逆加密)


?const?string?KEY_64?=?"VavicApp";//注意了,是8個字符,64位
????????const?string?IV_64?=?"VavicApp";?
????????public?string?Encode(string?data)
????????{
????????????byte[]?byKey?=?System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64);
????????????byte[]?byIV?=?System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64);
????????????DESCryptoServiceProvider?cryptoProvider?=?new?DESCryptoServiceProvider();
????????????int?i?=?cryptoProvider.KeySize;
????????????MemoryStream?ms?=?new?MemoryStream();
????????????CryptoStream?cst?=?new?CryptoStream(ms,?cryptoProvider.CreateEncryptor(byKey,?byIV),?CryptoStreamMode.Write);
????????????StreamWriter?sw?=?new?StreamWriter(cst);
????????????sw.Write(data);
????????????sw.Flush();
????????????cst.FlushFinalBlock();
????????????sw.Flush();
????????????return?Convert.ToBase64String(ms.GetBuffer(),?0,?(int)ms.Length);
????????}
????????public?string?Decode(string?data)
?????????{
????????????byte[]?byKey?=?System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64);
????????????byte[]?byIV?=?System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64);
????????????byte[]?byEnc;
????????????try
????????????{
????????????????byEnc?=?Convert.FromBase64String(data);
????????????}
????????????catch
????????????{
????????????????return?null;
????????????}
????????????DESCryptoServiceProvider?cryptoProvider?=?new?DESCryptoServiceProvider();
????????????MemoryStream?ms?=?new?MemoryStream(byEnc);
????????????CryptoStream?cst?=?new?CryptoStream(ms,?cryptoProvider.CreateDecryptor(byKey,?byIV),?CryptoStreamMode.Read);
????????????StreamReader?sr?=?new?StreamReader(cst);
????????????return?sr.ReadToEnd();
????????}

4、MD5不可逆加密??? (32位加密)


?????public?string?GetMD5(string?s,?string?_input_charset)
?????{
????????/**?<summary>
????????///?與ASP兼容的MD5加密算法
????????///?</summary>
????????MD5?md5?=?new?MD5CryptoServiceProvider();
????????byte[]?t?=?md5.ComputeHash(Encoding.GetEncoding(_input_charset).GetBytes(s));
????????StringBuilder?sb?=?new?StringBuilder(32);
????????for?(int?i?=?0;?i?<?t.Length;?i++)
????????{
????????????sb.Append(t[i].ToString("x").PadLeft(2,?'0'));
????????}
????????return?sb.ToString();
????}

(16位加密)


????public?static?string?GetMd5Str(string?ConvertString)
????{
????????MD5CryptoServiceProvider?md5?=?new?MD5CryptoServiceProvider();
????????string?t2?=?BitConverter.ToString(md5.ComputeHash(UTF8Encoding.Default.GetBytes(ConvertString)),?4,?8);
????????t2?=?t2.Replace("-",?"");
????????return?t2;
????}?

5、加解文本文件


?????????//加密文件
????private?static?void?EncryptData(String?inName,?String?outName,?byte[]?desKey,?byte[]?desIV)
????{
????????//Create?the?file?streams?to?handle?the?input?and?output?files.
????????FileStream?fin?=?new?FileStream(inName,?FileMode.Open,?FileAccess.Read);
????????FileStream?fout?=?new?FileStream(outName,?FileMode.OpenOrCreate,?FileAccess.Write);
????????fout.SetLength(0);
????????//Create?variables?to?help?with?read?and?write.
????????byte[]?bin?=?new?byte[100];?//This?is?intermediate?storage?for?the?encryption.
????????long?rdlen?=?0;??????????????//This?is?the?total?number?of?bytes?written.
????????long?totlen?=?fin.Length;????//This?is?the?total?length?of?the?input?file.
????????int?len;?????????????????????//This?is?the?number?of?bytes?to?be?written?at?a?time.
????????DES?des?=?new?DESCryptoServiceProvider();
????????CryptoStream?encStream?=?new?CryptoStream(fout,?des.CreateEncryptor(desKey,?desIV),?CryptoStreamMode.Write);
????????//Read?from?the?input?file,?then?encrypt?and?write?to?the?output?file.
????????while?(rdlen?<?totlen)
????????{
????????????len?=?fin.Read(bin,?0,?100);
????????????encStream.Write(bin,?0,?len);
????????????rdlen?=?rdlen?+?len;
????????}
????????encStream.Close();
????????fout.Close();
????????fin.Close();
????}
????//解密文件
????private?static?void?DecryptData(String?inName,?String?outName,?byte[]?desKey,?byte[]?desIV)
????{
????????//Create?the?file?streams?to?handle?the?input?and?output?files.
????????FileStream?fin?=?new?FileStream(inName,?FileMode.Open,?FileAccess.Read);
????????FileStream?fout?=?new?FileStream(outName,?FileMode.OpenOrCreate,?FileAccess.Write);
????????fout.SetLength(0);
????????//Create?variables?to?help?with?read?and?write.
????????byte[]?bin?=?new?byte[100];?//This?is?intermediate?storage?for?the?encryption.
????????long?rdlen?=?0;??????????????//This?is?the?total?number?of?bytes?written.
????????long?totlen?=?fin.Length;????//This?is?the?total?length?of?the?input?file.
????????int?len;?????????????????????//This?is?the?number?of?bytes?to?be?written?at?a?time.
????????DES?des?=?new?DESCryptoServiceProvider();
????????CryptoStream?encStream?=?new?CryptoStream(fout,?des.CreateDecryptor(desKey,?desIV),?CryptoStreamMode.Write);
????????//Read?from?the?input?file,?then?encrypt?and?write?to?the?output?file.
????????while?(rdlen?<?totlen)
????????{
????????????len?=?fin.Read(bin,?0,?100);
????????????encStream.Write(bin,?0,?len);
????????????rdlen?=?rdlen?+?len;
????????}
????????encStream.Close();
????????fout.Close();
????????fin.Close();
????}

6.


using?System;
using?System.Collections.Generic;
using?System.Text;
using?System.Security.Cryptography;
using?System.IO;
namespace?Component
?{
????public?class?Security
?????{
????????public?Security(){?
????????}
????????//默認密鑰向量
????????private?static?byte[]?Keys?=?{?0x12,?0x34,?0x56,?0x78,?0x90,?0xAB,?0xCD,?0xEF?};
????????/**//**//**?<summary>
????????///?DES加密字符串
????????///?</summary>
????????///?<param?name="encryptString">待加密的字符串</param>
????????///?<param?name="encryptKey">加密密鑰,要求為8位</param>
????????///?<returns>加密成功返回加密后的字符串,失敗返回源串</returns>
????????public?static?string?EncryptDES(string?encryptString,?string?encryptKey)
?????????{
????????????try
?????????????{
????????????????byte[]?rgbKey?=?Encoding.UTF8.GetBytes(encryptKey.Substring(0,?8));
????????????????byte[]?rgbIV?=?Keys;
????????????????byte[]?inputByteArray?=?Encoding.UTF8.GetBytes(encryptString);
????????????????DESCryptoServiceProvider?dCSP?=?new?DESCryptoServiceProvider();
????????????????MemoryStream?mStream?=?new?MemoryStream();
????????????????CryptoStream?cStream?=?new?CryptoStream(mStream,?dCSP.CreateEncryptor(rgbKey,?rgbIV),?CryptoStreamMode.Write);
????????????????cStream.Write(inputByteArray,?0,?inputByteArray.Length);
????????????????cStream.FlushFinalBlock();
????????????????return?Convert.ToBase64String(mStream.ToArray());
????????????}
????????????catch
?????????????{
????????????????return?encryptString;
????????????}
????????}
????????/**//**//**?<summary>
????????///?DES解密字符串
????????///?</summary>
????????///?<param?name="decryptString">待解密的字符串</param>
????????///?<param?name="decryptKey">解密密鑰,要求為8位,和加密密鑰相同</param>
????????///?<returns>解密成功返回解密后的字符串,失敗返源串</returns>
????????public?static?string?DecryptDES(string?decryptString,?string?decryptKey)
?????????{
????????????try
?????????????{
????????????????byte[]?rgbKey?=?Encoding.UTF8.GetBytes(decryptKey);
????????????????byte[]?rgbIV?=?Keys;
????????????????byte[]?inputByteArray?=?Convert.FromBase64String(decryptString);
????????????????DESCryptoServiceProvider?DCSP?=?new?DESCryptoServiceProvider();
????????????????MemoryStream?mStream?=?new?MemoryStream();
????????????????CryptoStream?cStream?=?new?CryptoStream(mStream,?DCSP.CreateDecryptor(rgbKey,?rgbIV),?CryptoStreamMode.Write);
????????????????cStream.Write(inputByteArray,?0,?inputByteArray.Length);
????????????????cStream.FlushFinalBlock();
????????????????return?Encoding.UTF8.GetString(mStream.ToArray());
????????????}
????????????catch
?????????????{
????????????????return?decryptString;
????????????}
????????}?
????}
}

總結

以上是生活随笔為你收集整理的C#加密解密大全的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。