C#加密解密总结文档格式.docx

上传人:b****2 文档编号:15084848 上传时间:2022-10-27 格式:DOCX 页数:12 大小:20.43KB
下载 相关 举报
C#加密解密总结文档格式.docx_第1页
第1页 / 共12页
C#加密解密总结文档格式.docx_第2页
第2页 / 共12页
C#加密解密总结文档格式.docx_第3页
第3页 / 共12页
C#加密解密总结文档格式.docx_第4页
第4页 / 共12页
C#加密解密总结文档格式.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

C#加密解密总结文档格式.docx

《C#加密解密总结文档格式.docx》由会员分享,可在线阅读,更多相关《C#加密解密总结文档格式.docx(12页珍藏版)》请在冰豆网上搜索。

C#加密解密总结文档格式.docx

returns>

加密后的字符串<

/returns>

public 

string 

SHA1(string 

source)

{

return 

FormsAuthentication.HashPasswordForStoringInConfigFile(source, 

"

SHA1"

);

}

MD5加密字符串

MD5(string 

MD5"

;

方法二(可逆加密解密):

System.Security.Cryptography;

Encode(string 

data)

byte[] 

byKey 

System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64);

byIV 

System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64);

DESCryptoServiceProvider 

cryptoProvider 

new 

DESCryptoServiceProvider();

int 

cryptoProvider.KeySize;

MemoryStream 

ms 

MemoryStream();

CryptoStream 

cst 

CryptoStream(ms, 

cryptoProvider.CreateEncryptor(byKey, 

byIV), 

CryptoStreamMode.Write);

StreamWriter 

sw 

StreamWriter(cst);

sw.Write(data);

sw.Flush();

cst.FlushFinalBlock();

Convert.ToBase64String(ms.GetBuffer(), 

0, 

(int)ms.Length);

Decode(string 

byEnc;

try

byEnc 

Convert.FromBase64String(data);

catch

null;

MemoryStream(byEnc);

cryptoProvider.CreateDecryptor(byKey, 

CryptoStreamMode.Read);

StreamReader 

sr 

StreamReader(cst);

sr.ReadToEnd();

方法三(MD5不可逆):

//MD5不可逆加密

//32位加密

GetMD5_32(string 

s, 

_input_charset)

MD5 

md5 

MD5CryptoServiceProvider();

md5.ComputeHash(Encoding.GetEncoding(_input_charset).GetBytes(s));

StringBuilder 

sb 

StringBuilder(32);

for 

(int 

0;

t.Length;

i++)

sb.Append(t[i].ToString("

x"

).PadLeft(2, 

'

0'

));

sb.ToString();

//16位加密

static 

GetMd5_16(string 

ConvertString)

MD5CryptoServiceProvider 

t2 

BitConverter.ToString(md5.ComputeHash(UTF8Encoding.Default.GetBytes(ConvertString)), 

4, 

8);

t2.Replace("

-"

 

t2;

方法四(对称加密):

System.IO;

private 

SymmetricAlgorithm 

mobjCryptoService;

Key;

对称加密类的构造函数 

SymmetricMethod()

mobjCryptoService 

RijndaelManaged();

Key 

Guz(%&

hj7x89H$yuBI0456FtmaT5&

fvHUFCy76*h%(HilJ$lhj!

y6&

(*jkP87jH7"

获得密钥 

密钥<

GetLegalKey()

sTemp 

mobjCryptoService.GenerateKey();

bytTemp 

mobjCryptoService.Key;

KeyLength 

bytTemp.Length;

if 

(sTemp.Length 

KeyLength)

sTemp.Substring(0, 

KeyLength);

else 

sTemp.PadRight(KeyLength, 

ASCIIEncoding.ASCII.GetBytes(sTemp);

获得初始向量IV 

初试向量IV<

GetLegalIV()

E4ghj*Ghg7!

rNIfb&

95GUY86GfghUb#er57HBh(u%g6HJ($jhWk7&

!

hg4ui%$hjk"

mobjCryptoService.GenerateIV();

mobjCryptoService.IV;

IVLength 

IVLength)

IVLength);

sTemp.PadRight(IVLength, 

加密方法 

Source"

待加密的串<

经过加密的串<

Encrypto(string 

Source)

bytIn 

UTF8Encoding.UTF8.GetBytes(Source);

mobjCryptoService.Key 

GetLegalKey();

mobjCryptoService.IV 

GetLegalIV();

ICryptoTransform 

encrypto 

mobjCryptoService.CreateEncryptor();

cs 

encrypto, 

cs.Write(bytIn, 

bytIn.Length);

cs.FlushFinalBlock();

ms.Close();

bytOut 

ms.ToArray();

Convert.ToBase64String(bytOut);

解密方法 

待解密的串<

经过解密的串<

Decrypto(string 

Conve

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 卡通动漫

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1