易截截图软件、单文件、免安装、纯绿色、仅160KB

C# 加密-RSA 高级

RSA
实际应用中是:接收方产生公钥和私钥,发送方用其公钥加密,再把加密后的内容发送给接收方。
CspParameters
的名称空间是:
System.Security.Cryptography
CspParameters cpSend = new CspParameters(); //Csp = Cryptography Service Provider
CspParameters cpReceive = new CspParameters();
cpSend.KeyContainerName = "SendTestContainer";
cpReceive.KeyContainerName = "ReceiveTestContainer";
RSACryptoServiceProvider rsaSend = new RSACryptoServiceProvider(cpSend); ;
RSACryptoServiceProvider rsaReceive = new RSACryptoServiceProvider(cpReceive);
rsaSend.fromXmlString(rsaReceive.ToXmlString(false)); //发送方使用接收方给它的公钥进行加密
string plaintext = "前几天我碰到一个朋友,约我跟马贼打架,我立马答应了他,因为我觉得这件事好无聊。";
byte[] ciphertext = rsaSend.Encrypt(System.Text.Encoding.UTF8.GetBytes(plaintext), false); //加密后
byte[] decryption = rsaReceive.Decrypt(ciphertext, false); //解密后
lbl.Width = 760;
lbl.Text = "";
lbl.Text += Convert.ToBase64String(ciphertext) + "<br />"; //显示加密后的
lbl.Text += System.Text.Encoding.UTF8.GetString(decryption) + "<br />"; //显示解密后的
lbl.Text += Server.HtmlEncode(rsaSend.ToXmlString(false)) + "<br />"; //显示发送方公钥
lbl.Text += Server.HtmlEncode(rsaReceive.ToXmlString(true)) + "<br />"; //显示接收方公钥和私钥
lbl.Text += Server.HtmlEncode(rsaReceive.ToXmlString(false)) + "<br />"; //显示接收方公钥
rsaSend.PersistKeyInCsp = true; //密钥要保存起来
//rsaSend.Clear();
rsaReceive.PersistKeyInCsp = true;
//rsaReceive.Clear();
在上面的代码中,我们使用 CspParameters 将密钥保存起来,ToXmlString
和 fromXmlString
将接收方的公钥告诉给发送方。


相关文档:

使用C#正则表达式匹配相关字符串

C#正则表达式匹配字符串的方法如下:
1.使用C#中使用正则表达式System.Text.RegularExpressions命名空间;
2.使用C#中使用正则表达式Matches()方法匹配字符串,格式如下:
MatchCollection Matches = Regex.Matches(Str, Pattern, RegexOptions.IgnoreCase | RegexOptions.ExplicitC ......

C#中属性和字段的区别

属性是类中可以像类的字段一样访问的方法。属性可以为类的字段提供保护,避免字段在对象不知道情况下被修改。C#通过属性来修改,读写或计算私有的字段的值。属性相当于对字段访问的封装。下例子可以清楚说明哟:
class Person
    {
            ......

C#对图片的几种简单处理

又有一段时间没有更新了,缺少学习的热情了。今天贴几个图片处理的小技巧,希望对大家有用:
(1)如何获取.gif图片中的各个帧?
(2)如何获取图片的缩略图?
(3)如何“截取”图片的指定区域?
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
public class ImageHelp ......

利用C#的动态类型来实现与rails类似的元编程(1)

熟悉ruby on rails的开发员都知道,在ruby中,有一个很重要的特性,就是能够实现元编程,特别是在用于开发Web应用的rails框架中,用的特别多。在rails中,要创建一个动态方法并与数据库表字段相关联,主要的的步骤大概有这些:
1、首先配置好数据库的连接。
2、创建一个ActiveRecord模型,这个模型与数据库的表名称有一定 ......

C# 加密-散列算法

创建散列码的方法非常多,即使是同一种散列算法也可以通过许多类来实现,前面章节介绍的算一种,下面再介绍一种。以 SHA1
为例:
string plaintext = "明文";
byte[] srcBuffer = System.Text.Encoding.UTF8.GetBytes(plaintext);
HashAlgorithm hash = HashAlgorithm.Create("SHA1"); //将参数换 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号