文本的DES加密 MD5散列值 DSA的数字签名
作者:未知
文本的DES加密
为了对称加密的安全,将密码进行封装,先新建一个用于保存密码的类库cl:
using System;
using System.Text ;
namespace cl
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
public class Class1
{
public Class1()
{
}
public string getiv()
{
string iv="********";//八位
return iv;
}
public string getkey()
{
string key="01160129";//八位
return key;
}
}
}
然后新建asp.net项目(C#)
在 .aspx中
using cl;
namespace test//给一个文本产生一个散列值
{
/// <summary>
/// computehash 的摘要说明。
/// </summary>
public class computehash : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.TextBox TextBox1;
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.WebControls.TextBox TextBox3;
protected System.Web.UI.WebControls.Button Button2;
protected System.Web.UI.WebControls.TextBox TextBox4;
protected System.Web.UI.WebControls.Button Button3;
protected System.Web.UI.WebControls.TextBox TextBox5;
protected System.Web.UI.WebControls.Button Button4;
protected System.Web.UI.WebControls.Button Button5;
protected System.Web.UI.WebControls.Label Label2;
protected System.Web.UI.WebControls.TextBox TextBox7;
protected System.Web.UI.WebControls.Label Label3;
protected System.Web.UI.WebControls.TextBox TextBox8;
protected System.Web.UI.WebControls.TextBox TextBox9;
protected System.Web.UI.WebControls.Label Label4;
protected System.Web.UI.WebControls.Button Button6;
protected System.Web.UI.WebControls.Label Label5;
protected System.Web.UI.WebControls.TextBox TextBox2;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Button2.Click += new System.EventHandler(this.Button2_Click);
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Button3.Click += new System.EventHandler(this.Button3_Click);
this.Button4.Click += new System.EventHandler(this.Button4_Click);
this.Button5.Click += new System.EventHandler(this.Button5_Click);
this.Button6.Click += new System.EventHandler(this.Button6_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void Button1_Click(object sender, System.EventArgs e)
{
byte[] bt=UTF8Encoding.UTF8.GetBytes(TextBox1.Text );//UTF8需要对Text的引用
MD5CryptoServiceProvider objMD5;
objMD5=new MD5CryptoServiceProvider ();
byte[] output=objMD5.ComputeHash (bt);
TextBox2.Text =BitConverter.ToString (output);
}
private void Button2_Click(object sender, System.EventArgs e)
{
byte[] bt=UTF8Encoding.UTF8.GetBytes(TextBox1.Text );//UTF8需要对Text的引用
MD5CryptoServiceProvider objMD5;
objMD5=new MD5CryptoServiceProvider ();
byte[] output=objMD5.ComputeHash (bt);
TextBox4.Text =BitConverter.ToString (output);
}
private void Button3_Click(object sender, System.EventArgs e)
{
Class1 cl=new Class1 ();
string iv1=cl.getiv ();
string key1=cl.getkey ();
byte[] iv=UTF8Encoding.UTF8 .GetBytes (iv1);
byte[] key=UTF8Encoding.UTF8 .GetBytes (key1);
byte[] source=UTF8Encoding.UTF8 .GetBytes (TextBox1.Text );
//定义加密对象
DESCryptoServiceProvider objdes;
objdes=new DESCryptoServiceProvider ();
//设置加密对象值
objdes.IV =iv;
objdes.Key =key;
//创建加密器对象
ICryptoTransform objEncryptor;
objEncryptor=objdes.CreateEncryptor (objdes.Key ,objdes.IV );
//准备将加密的文本写入secret.txt中
FileStream objfs;
objfs=new FileStream (MapPath("secret.txt"),FileMode.Create ,FileAccess.Write );
//写入
CryptoStream cryptostream;
cryptostream=new CryptoStream (objfs,objEncryptor,CryptoStreamMode.Write );
cryptostream.Write (source,0,source.Length );
cryptostream.Close ();
}
private void Button4_Click(object sender, System.EventArgs e)
{
Class1 cl=new Class1 ();
string iv1=cl.getiv ();
string key1=cl.getkey ();
byte[] iv=UTF8Encoding.UTF8 .GetBytes (iv1);
byte[] key=UTF8Encoding.UTF8 .GetBytes (key1);
byte[] source=UTF8Encoding.UTF8 .GetBytes (TextBox1.Text );
//定义加密对象
DESCryptoServiceProvider objdes;
objdes=new DESCryptoServiceProvider ();
//设置加密对象值
objdes.IV =iv;
objdes.Key =key;
//创建加密器对象
ICryptoTransform objEncryptor;
objEncryptor=objdes.CreateEncryptor (objdes.Key ,objdes.IV );
//写到内存
MemoryStream ms=new MemoryStream ();
CryptoStream cs=new CryptoStream (ms,objEncryptor,CryptoStreamMode.Write );
cs.Write (source,0,source.Length );
cs.FlushFinalBlock ();
ms.Close ();
TextBox5.Text =BitConverter.ToString (ms.ToArray ());
}
private void Button5_Click(object sender, System.EventArgs e)
{
DSACryptoServiceProvider objdsa;
objdsa=new DSACryptoServiceProvider ();
byte[] source=UTF8Encoding.UTF8 .GetBytes (TextBox1.Text );
//公开秘钥
TextBox8.Text =objdsa.ToXmlString (false);
//私有秘钥
TextBox9.Text =objdsa.ToXmlString (true);
//数字签名
TextBox7.Text =BitConverter.ToString (objdsa.SignData (source));
}
}
}
相关文章:

在SQL Server中调用.NET程序集
使用到这东西完全是个巧合和无奈之举。不小心在数据库中插入了一些HttpUtility.UrlEncodeUnicode之后的数据。数据库里的一些字段成了%uxxxx%uxxxx这样的结构。 搜索了半天T-SQL UrlDecode的函数,发现都不支持上面这种Unicode的。自己对T-SQL又不熟悉,时…

AngularJS2 + ASP.NET MVC项目
环境:VS2015, NodeJS:v 6.5, npm: v3.10, AngularJs 2 通过将ASP.NET MVC项目与Angualr 2官网上的quick start整合的过程中遇到些问题。 通过下面的若干配置最终向项目build成功。 转载于:https://www.cnblogs.com/1zhk/p/5831567.html
干货!仅有 100k 参数的高效显著性检测方法
作者 | 南开大学 程明明、依图科技 颜水成责编 | Carol封图 | CSDN 下载自视觉中国显著性目标检测模型通常需要花费大量的计算成本才能对每个像素进行精确的预测,因此这使得其几乎不适用于低功耗的设备。本文旨在通过提高网络计算效率来缓解计算花费与模型性能之间的…

如何将一个彩色图像转换成黑白图像
作者:未知彩色图像转换为黑白图像时需要计算图像中每像素有效的亮度值,通过匹配像素 亮度值可以轻松转换为黑白图像。 计算像素有效的亮度值可以使用下面的公式: Y0.3RED0.59GREEN0.11Blue 然后使用 Color.FromArgb(Y,Y,Y) 来把计算后的值…

修改Activity响应音量控制键修改的音频流
转自:http://rainhomepage.appspot.com/2010/05/hardware-volume-controls-audio-stream-setvolumecontrolstream 当开发多媒体应用或者游戏应用的时候,需要使用音量控制键来设置程序的音量大小。在Android系统中有多中音频流,通过Activity中…

css3选择器二
在HTML中,通过各种各样的属性可以给元素增加很多附加的信息,了解和掌握css3一些的选择器,是很有必要的。 :enabled 和 :disabled选择器表单元素有可用(“:enabled”)和不可用(“:disabled”)状态…

结合ashx来在DataGrid中显示从数据库中读出的图片
作者:木子 http://blog.csdn.net/derny/下面利用ashx文件可以方便实现从数据库中读取图片并显示在datagrid当中 //---------------------------------------BindImage.aspx ---------------------------------------- <% Page language"c#" Codebehi…
如何度过二十多岁这段又穷又迷茫的岁月?
我们在后台常常会收到读者的留言我马上毕业了,但是现在很迷茫,不知道学校里学的,能不能真正的适应工作...我工作两三年,还是不知道怎么规划自己的技术成长路线,不知道该学什么来提升自己的竞争力...人生需要长线的经营…

Qt 自定义信号与槽
注 对象与槽理解 //第一个参数lineEdit是激发事件对象,信号中的方法必须在对象中存在,并在对象类头文件signals下定义,//第二个参数信号,//第三个参数this是槽方法所属类的对象,且必须在对象类的头文件的slots下定义//第四个参数槽…

php解析ip列表并入库
前一段时间因为要开发一个新项目,需要一个ip库,由于公司原本无这样一个库,所以急需从文件中匹配ip地址然后存库。下面是我下的一段程序,可能效率不是很高,代码也没有做过多的优化,有些地方比较繁琐…
AI 领域新突破,腾讯发布首个AI药物研发平台「云深智药」
7月9日,2020世界人工智能大会云端峰会开幕。会上,腾讯首席运营官任宇昕公布了用AI助力药物研发领域的最新进展——由腾讯自主研发的首个AI驱动的药物发现平台“云深智药(iDrug)”正式对外发布。云深智药平台的推出,将帮…

写入和读取图片(c# asp.net sqlserver)
作者:木子 http://blog.csdn.net/derny/首先要创建一个表包含自段image 和 type 类型各自为image 和 vnanchar WebForm1.aspx <% Page language"c#" Codebehind"WebForm1.aspx.cs" AutoEventWireup"false" Inherits"ReadA…
【MyBatis学习01】宏观上把握MyBatis框架
今天开始学习mybatis框架,博客主要记录学习过程中的一些总结,如有错误之处,欢迎留言指正~先用mybatis的鸟鸟来镇个楼,咳咳~~ mybatis框架是一个持久层框架,是Apache下的顶级项目。mybatis可以让开发者的主要精力放在s…

消除图片在ie中缓存而无法更新的问题
程序中图片是动态显示的 原先把打算把图片保存在服务器端然后显示 可是由于ie的缓存问题导致图片无法实时更新显示 所以改为把图片存在session中然后再显示 需要保存的时候再保存到本地 //------&…

Linux shell笔记
由于工作的需要,越来越多的接触到linux系统。最近看了《Linux与Unix Shell》这本书,安装书的章节整理了一些自己认为比较重要的命令,方便以后查阅。 No.001 文件安全与权限 1. umask 决定了新建文件的权限 2. 软链接(符号链接) ln -s source_…
ACL最佳论文提出最新NLP模型测试方法,最佳论文提名也不可小觑
译者 | 刘畅出品 | AI科技大本营(ID:rgznai100)导读:近日,ACL 2020公布了最佳论文奖,另有两篇最佳论文荣誉提名奖也各自提出了解决NLP领域问题的创新方法。最佳论文:Beyond Accuracy: Behavioral Testing o…

LVM逻辑卷的缩减与删除,LVM逻辑卷快照,btrfs文件系统,网络管理
逻辑卷缩减缩减的时候要注意缩减的空间不要超过文件系统的空间,不然缩减的时候会损坏文件系统。第一步要先取消挂载(必须)第二部检查文件完整性(必须)e2fsck -f /dev/vg0/lv0第三部文件系统缩减,先缩减文件…

屏掉F5刷新的办法
<body οnkeydοwn"KeyDown()"> function KeyDown(){ //屏蔽退格删除键,屏蔽 F5 刷新键,Ctrl R if ((event.keyCode116)||(event.ctrlKey && event.keyCode82)) { event.keyCode0; event.returnValuefalse; } }
WAIC汇聚全球顶级科学家,畅谈人工智能的未来挑战与突破
7月9日,2020世界人工智能大会(WAIC)正式拉开帷幕。当天下午,2020世界人工智能大会科学前沿全体会议召开,作为今年WAIC唯一一场聚焦前沿科技的大会,邀请了世界范围内最顶级的AI专家探讨技术趋势。其中&#…

ant学习笔记之(ant执行命令的详细参数和Ant自带的系统属性)
2019独角兽企业重金招聘Python工程师标准>>> 一:ant执行命令的详细参数 -buildfile<file>,-file<file>,-f<file> :要指定执行构件的的位置和名称。 -find<file>,-s<file>: 查找构件文件,并执行找到的构件文件。…
mipi和dsi
转自: http://blog.csdn.net/longxiaowu/article/details/24410021 一、MIPI MIPI(移动行业处理器接口)是Mobile Industry Processor Interface的缩写。MIPI(移动行业处理器接口)是MIPI联盟发起的为移动应用处理器制定…

在asp.net中调用Office来制作各种(3D)统计图
作者:未知 由于本文网上多处见到 对于谁是作者 无法肯定1、下载owc11 COM组件 http://www.microsoft.com/downloads/details.aspx?FamilyID7287252c-402e-4f72-97a5-e0fd290d4b76&displaylangen 2、注册owc11 在工程中添加 C:/Program Files/Common File…

个人谈谈seo
为什么80%的码农都做不了架构师?>>> 我不知道大家有没有做过seo的工作。以前我是一各技术人员。纯技术开发或技术管理人员。基本上也没有接触过seo的相关工作,整天在写代码或看别人的代码 。干了六年只见他们都在谈友情链接。做推广…
“编程能力差的程序员,90%输在这事上!”谷歌AI专家:都是瞎努力!
Google 人工智能开发者专家彭靖田老师说——超90%的程序员在初学Python 人工智能时,都会遇到下面3个问题:1.想学人工智能,但不知从何学起,也不知道该选择什么方向...2.Python语法、机器学习/深度学习框架、算法都能看懂࿰…

[译]JavaScript中,{}+{}等于多少?
最近,Gary Bernhardt在一个简短的演讲视频“Wat”中指出了一个有趣的JavaScript怪癖:在把对象和数组混合相加时,会得到一些你意想不到的结果.本篇文章会依次讲解这些计算结果是如何得出的. 在JavaScript中,加法的规则其实很简单,只有两种情况:你只能把数字和数字相加,或者字符串…

大数量查询分页显示
微软的解决办法 using System; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Windows.Forms; public class PagingSample: Form { // Form controls. Button prevBtn new Button(); Button nextBtn new Button(); static DataGrid …

Sep 26 09:22:41 ck01 kernel: Buffer I/O error on device sda2, logical block 2
错误 kernel: sd 0:2:0:0: SCSI error: return code kernel: end_request: I/O error, dev sda, sector 2308509 kernel: Buffer I/O error on device sda2, logical block 2 kernel: Buffer I/O error on device sda2, logical block 2 硬盘扇区问题? 更换一块硬盘…

启信宝CEO陈青山:AI+大数据驱动下的金融新生态
人工智能怎样潜移默化影响金融业务?合合信息联合创始人、启信宝CEO陈青山在2020世界人工智能大会云端峰会.未来金融论坛上做了“AI大数据,共创金融新生态”的主题演讲,讲述了如何通过数字化构建一个虚拟世界,协助金融类企业建立新…

新手安装ruby on rails(ror)的成功必备手册
2019独角兽企业重金招聘Python工程师标准>>> 如何快速正确的安装 Ruby, Rails 运行环境 每一位使用windows系统来进行ROR开发项目的都是这个世界上折翼的天使。对于新入门的开发者,如何在windows系统上安装 Ruby, Ruby Gems 和 Rails 的运行环境可能会是…

Logback学习笔记1
Logback介绍 Logback 分为三个模块:Core、Classic 和 Access。Core模块是其他两个模块的基础。 Classic模块扩展了core模块。 Classic模块相当于log4j的显著改进版。Logback-classic 直接实现了 SLF4J API。 要引入logback,由于Logback-classic依赖slf4j…