using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text;
using System.Text.RegularExpressions;
using System.IO;using System.Security.Cryptography;
namespace WebApplication1
{
public partial class WebForm2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
EncryptData(Server.MapPath("~/inFile.txt"), Server.MapPath("~/outFile.txt"), "yuna1234");
DecryptData(Server.MapPath("~/outFile.txt"), Server.MapPath("~/outFile22222.txt"), "yuna1234");
}
// DES加密过程
public void EncryptData(string sourceFile, string destinationFile, string cryptoKey)
{
DESCryptoServiceProvider desProvider = new DESCryptoServiceProvider();
desProvider.Key = ASCIIEncoding.ASCII.GetBytes(cryptoKey);
desProvider.GenerateIV();
ICryptoTransform desEnctypt = desProvider.CreateEncryptor(); FileStream inFileStream = new FileStream(sourceFile, FileMode.Open, FileAccess.Read);
FileStream outFileStream = new FileStream(destinationFile, FileMode.Create, FileAccess.Write); CryptoStream cryptoStream = new CryptoStream(outFileStream, desEnctypt, CryptoStreamMode.Write); byte[] byteArrayInput = new byte[inFileStream.Length-1];
inFileStream.Read(byteArrayInput, 0, byteArrayInput.Length); cryptoStream.Write(byteArrayInput, 0, byteArrayInput.Length); cryptoStream.Close();
inFileStream.Close();
outFileStream.Close(); }
// DES解密过程
public void DecryptData(string sourceFile, string destinationFile, string cryptoKey)
{
DESCryptoServiceProvider desProvider = new DESCryptoServiceProvider();
desProvider.Key = ASCIIEncoding.ASCII.GetBytes(cryptoKey);
desProvider.GenerateIV(); ICryptoTransform desEnctypt = desProvider.CreateDecryptor();
FileStream decrptedFile = new FileStream(sourceFile, FileMode.Open, FileAccess.Read); CryptoStream cryptoStream = new CryptoStream(decrptedFile, desEnctypt, CryptoStreamMode.Read); StreamWriter decryptedOutput = new StreamWriter(destinationFile);
decryptedOutput.Write(new StreamReader(cryptoStream).ReadToEnd());
decryptedOutput.Flush();
decryptedOutput.Close();
cryptoStream.Close();
decrptedFile.Close();
}
}
}
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text;
using System.Text.RegularExpressions;
using System.IO;using System.Security.Cryptography;
namespace WebApplication1
{
public partial class WebForm2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
EncryptData(Server.MapPath("~/inFile.txt"), Server.MapPath("~/outFile.txt"), "yuna1234");
DecryptData(Server.MapPath("~/outFile.txt"), Server.MapPath("~/outFile22222.txt"), "yuna1234");
}
// DES加密过程
public void EncryptData(string sourceFile, string destinationFile, string cryptoKey)
{
DESCryptoServiceProvider desProvider = new DESCryptoServiceProvider();
desProvider.Key = ASCIIEncoding.ASCII.GetBytes(cryptoKey);
desProvider.GenerateIV();
ICryptoTransform desEnctypt = desProvider.CreateEncryptor(); FileStream inFileStream = new FileStream(sourceFile, FileMode.Open, FileAccess.Read);
FileStream outFileStream = new FileStream(destinationFile, FileMode.Create, FileAccess.Write); CryptoStream cryptoStream = new CryptoStream(outFileStream, desEnctypt, CryptoStreamMode.Write); byte[] byteArrayInput = new byte[inFileStream.Length-1];
inFileStream.Read(byteArrayInput, 0, byteArrayInput.Length); cryptoStream.Write(byteArrayInput, 0, byteArrayInput.Length); cryptoStream.Close();
inFileStream.Close();
outFileStream.Close(); }
// DES解密过程
public void DecryptData(string sourceFile, string destinationFile, string cryptoKey)
{
DESCryptoServiceProvider desProvider = new DESCryptoServiceProvider();
desProvider.Key = ASCIIEncoding.ASCII.GetBytes(cryptoKey);
desProvider.GenerateIV(); ICryptoTransform desEnctypt = desProvider.CreateDecryptor();
FileStream decrptedFile = new FileStream(sourceFile, FileMode.Open, FileAccess.Read); CryptoStream cryptoStream = new CryptoStream(decrptedFile, desEnctypt, CryptoStreamMode.Read); StreamWriter decryptedOutput = new StreamWriter(destinationFile);
decryptedOutput.Write(new StreamReader(cryptoStream).ReadToEnd());
decryptedOutput.Flush();
decryptedOutput.Close();
cryptoStream.Close();
decrptedFile.Close();
}
}
}
解决方案 »
- 在程序中调用存储过程出错!
- DropDownlist小问题,看大家有什么好的办法
- Object reference not set to an instance of an object.
- 急!!!datagrid中DropDownList选择其中一项。其他单元格更新的问题??
- WinForm 程序和Web程序里,使用水晶报表是相同的方法吗?
- 关于搜索的问题.
- 请我下做留言本的是很,引用楼上的内容是怎么实现的呢?谢谢!
- include 的动态使用问题
- 着急的问,里面的代码能给解释一下吗!!!
- 请问如何用JS调用webservice?
- C#.net新闻发布问题
- 有没有好的打印控件?最好可以自定义打印格式。
不过真小气哈才10分。
desProvider.Key = ASCIIEncoding.ASCII.GetBytes(cryptoKey);
改为这样 试下
System.Text.ASCIIEncoding.UTF8.GetBytes(cryptoKey);
private byte[] DESIV = new byte[] { 75, 158, 46, 97, 78, 57, 17, 36 };
//加密函數:
public string Encode(string Encode_String)
{
DESCryptoServiceProvider objDES = new DESCryptoServiceProvider();
MemoryStream objMemoryStream = new MemoryStream();
CryptoStream objCryptoStream = new CryptoStream
(objMemoryStream, objDES.CreateEncryptor(DESKey, DESIV), CryptoStreamMode.Write);
StreamWriter objStreamWriter = new StreamWriter(objCryptoStream);
objStreamWriter.Write(Encode_String);
objStreamWriter.Flush();
objCryptoStream.FlushFinalBlock();
objMemoryStream.Flush();
return Convert.ToBase64String(objMemoryStream.GetBuffer(), 0, (int)
objMemoryStream.Length);
} private byte[] DESKey = new byte[] { 11, 23, 93, 102, 72, 41, 18, 12 };
private byte[] DESIV = new byte[] { 75, 158, 46, 97, 78, 57, 17, 36 }; //解密函數
public string Decode(string Encode_String)
{
DESCryptoServiceProvider objDES = new DESCryptoServiceProvider();
byte[] Input = Convert.FromBase64String(Encode_String);
MemoryStream objMemoryStream = new MemoryStream(Input);
CryptoStream objCryptoStream = new CryptoStream
(objMemoryStream, objDES.CreateDecryptor(DESKey, DESIV), CryptoStreamMode.Read);
StreamReader objStreamReader = new StreamReader(objCryptoStream);
return objStreamReader.ReadToEnd();
}
加密
SELECT EncryptByPassPhrase(N'这是密码,用来加密的','这是要加密的内容')
解密
SELECT CONVERT(NVARCHAR(50),DECRYPTBYPASSPHRASE(N'这是密码,用来加密的',字段))