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

红色___

红色___

2016-01-29 12:42

.NET中加密和解密的实现方法2,.NET中加密和解密的实现方法2
使用私有密钥解密该文档,这是唯一可以解密的密钥,并且没有通过网络传递。  不对称算法比对称算法计算的花费多、速度慢。因此我们不希望在线对话中使用不对称算法加密所有信息。相反,我们使用对称算法。下面的例子中我们使用不对称加密来加密对称密钥。接着就使用对称算法加密了。实际上安全接口层(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;
展开更多 50%)
分享

猜你喜欢

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

电脑网络
.NET中加密和解密的实现方法2

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

电脑网络
.NET中加密和解密的实现方法 3

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

notNET中加密和解密的实现方法

电脑网络
notNET中加密和解密的实现方法

用C#实现Des加密和解密

电脑网络
用C#实现Des加密和解密

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

asp编写的加密和解密类

ASP
asp编写的加密和解密类

用Asp写个加密和解密的类

ASP
用Asp写个加密和解密的类

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

.NET 中的断言和跟踪

.NET 中的断言和跟踪

三步打造超炫Flash按钮

三步打造超炫Flash按钮
下拉加载更多内容 ↓