当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > .NET中加密和解密的实现方法2

ASP.NET
asp.net Execl的添加,更新操作实现代码
asp.net 生成曲线图实现代码
从外部的js文件中获取ASPX页面的控件ClientID
asp.net 因为数据库正在使用的解决方法
asp.net Repeater 自递增
asp.net 实现防迅雷等下载工具盗链
ASP.NET封装的SQL数据库访问类
asp.net 通过指定IP地址得到当前的网络上的主机的域名
aspx 服务器架设问题解决
ASP.NET Session使用详解
Asp.net 5种页面转向方法
ASP.NET 用户多次登录的解决方法
ASP.NET下母版页和内容页中的事件发生顺序整理
asp.net 程序性能优化的七个方面 (c#(或vb.net)程序改进)
从客户端检测到有潜在危险的Request.Form值的asp.net代码
asp.net CommunityServer中的wwwStatus
在应用程序级别之外使用注册为allowDefinition=''MachineToApplication''的节是错误的
.net开发人员常犯的错误分析小结
ASP.net Substitution 页面缓存而部分不缓存的实现方法
asp.net 生成静态时的过滤viewstate的实现方法

ASP.NET 中的 .NET中加密和解密的实现方法2


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 220 ::
收藏到网摘: n/a

使用私有密钥解密该文档,这是唯一可以解密的密钥,并且没有通过网络传递。  不对称算法比对称算法计算的花费多、速度慢。因此我们不希望在线对话中使用不对称算法加密所有信息。相反,我们使用对称算法。下面的例子中我们使用不对称加密来加密对称密钥。接着就使用对称算法加密了。实际上安全接口层(SSL)建立服务器和浏览器之间的安全对话使用的就是这种工作方式。示例是一个TCP程序,分为服务器端和客户端。服务器端的工作流程是:   从客户端接收公共密钥。   使用公共密钥加密未来使用的对称密钥。   将加密了的对称密钥发送给客户端。   给客户端发送使用该对称密钥加密的信息。  代码如下:
namespace com.billdawson.crypto{public class CryptoServer{private const int RSA_KEY_SIZE_BITS = 1024;private const int RSA_KEY_SIZE_BYTES = 252;private const int TDES_KEY_SIZE_BITS = 192;public static void Main(string[] args){int port;string msg;TcpListener listener;TcpClient client;SymmetricAlgorithm symm;RSACryptoServiceProvider rsa;//获取端口try{port = Int32.Parse(args[0]);msg = args[1];}catch{Console.WriteLine(USAGE);return;}//建立监听try{listener = new TcpListener(port);listener.Start();Console.WriteLine("Listening on port {0}...",port);client = listener.AcceptTcpClient();Console.WriteLine("connection....");}catch (Exception e){Console.WriteLine(e.Message);Console.WriteLine(e.StackTrace);return;}try{ rsa = new RSACryptoServiceProvider();rsa.KeySize = RSA_KEY_SIZE_BITS;// 获取客户端公共密钥rsa.ImportParameters(getClientPublicKey(client));symm = new TripleDESCryptoServiceProvider();symm.KeySize = TDES_KEY_SIZE_BITS;