当前位置:编程学习 > C#/ASP.NET >>

TripleDESCryptoServiceProvider加解密中文乱码

TripleDESCryptoServiceProvider解密中文 出现乱码情况.
如何解决...求高手帮忙..或者给个可以加解密中文的方法.

/// 加密字符串
                 public string EncryptString(string Value)

{

ICryptoTransform ct;

MemoryStream ms;

CryptoStream cs;

byte[] byt;

mCSP.Key = Convert.FromBase64String(sKey);

mCSP.IV = Convert.FromBase64String(sIV);



mCSP.Mode = System.Security.Cryptography.CipherMode.ECB;



mCSP.Padding = System.Security.Cryptography.PaddingMode.PKCS7;

ct = mCSP.CreateEncryptor(mCSP.Key, mCSP.IV);

            byt = Encoding.UTF8.GetBytes(Value);

ms = new MemoryStream();

cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);

cs.Write(byt, 0, byt.Length);

cs.FlushFinalBlock();

cs.Close();

return Convert.ToBase64String(ms.ToArray());

}

#endregion

 

#region public string DecryptString(string Value)


/// 解密字符串

public string DecryptString(string Value)

{

ICryptoTransform ct;

MemoryStream ms;

CryptoStream cs;

byte[] byt;

mCSP.Key = Convert.FromBase64String(sKey);

mCSP.IV = Convert.FromBase64String(sIV);

mCSP.Mode = System.Security.Cryptography.CipherMode.ECB;

mCSP.Padding = System.Security.Cryptography.PaddingMode.PKCS7;

ct = mCSP.CreateDecryptor(mCSP.Key, mCSP.IV);

byt = Convert.FromBase64String(Value);

ms = new MemoryStream();

cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);

cs.Write(byt, 0, byt.Length);

cs.FlushFinalBlock();

cs.Close();



            return Encoding.UTF8.GetString(ms.ToArray());

} --------------------编程问答-------------------- 的的的的的打打 --------------------编程问答-------------------- 看不上去不像是加解密导致的,你输出到哪里?网页吗? --------------------编程问答-------------------- TXT --------------------编程问答-------------------- 我就把文本读出来.加密.在新建一个文本吧加密好的数据放进去.这样子 然后再解密.放到另一个新建文本 --------------------编程问答-------------------- 啊啊啊 --------------------编程问答-------------------- 刚刚遇到同样问题~
解决了,呵呵
你的问题应该出现在文件写入的时候
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,