01 2014 档案

摘要:概述数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,使其只能在输入相应的密钥之后 才能显示出本来内容,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的。 该过程的逆过程为解密,即将该编码信息转化为其原来数据的过程。加密建立在对信息进行数学编码和解码的基础上。加密类型分为两种,对称加密与非对称加密, 对称加密双方采用共同密钥。非对称加密,这种加密方式存在两个密钥,一个是公共密钥(对外公开),一种是私人密钥(对外保密)。 一、摘要算法数据摘要算法是密码学算法中非常重要的一个分支,它通过对所有数据提取指纹信息以实现数据签名、数据完整 阅读全文
posted @ 2014-01-27 15:00 蚂蚁拉车 阅读(612) 评论(0) 推荐(0) 编辑
摘要:c#中类型分为值类型和引用类型,值类型对象赋值是本身就是赋的自身的一个副本,而引用类型赋值时则赋的是指向堆上的内存,假如我们不想赋这个地址而想将对象赋过去要怎么做呢?首先要知道拷贝分为浅表拷贝和深层拷贝,浅表拷贝得到一个新的实例,一个与原始对象类型相同、值类型字段相同的拷贝。但是,如果字段是引用类型的,则拷贝的是该引用, 而不是的对象。若想将引用字段的对象也拷贝过去,则称为深拷贝。 为了实现拷贝,本文总结了以下几种方法。1.首先就是最笨的方法,传说中的“人工拷贝”,就是将引用里的所有值对象和具有值特征的string对象一一赋给新对象,这种方式代码量过大而且维护起来相当麻烦,所以能不用就不用.. 阅读全文
posted @ 2014-01-21 11:41 蚂蚁拉车 阅读(2325) 评论(6) 推荐(1) 编辑
摘要:const与readonly 很像,都是将变量声明为只读,且在变量初始化后就不可改写。那么,const与readonly 这两个修饰符到底区别在什么地方呢?其实,这个牵扯出C#语言中两种不同的常量类型:静态常量(compile-time constants)和动态常量(runtime constants)。这两者具有不同的特性,错误的使用不仅会损失效率,而且还会造成错误。 首先先解释下什么是静态常量以及什么是动态常量。静态常量是指编译器在编译时候会对常量进行解析,并将常量的值替换成初始化的那个值。而动态常量的值则 是在运行的那一刻才获得的,编译器编译期间将其标示为只读常量,而不用常量的值... 阅读全文
posted @ 2014-01-20 09:28 蚂蚁拉车 阅读(353) 评论(0) 推荐(0) 编辑
摘要:WinForm 下我们可以调用MessageBox.Show 来显示一个消息对话框,提示用户确认等操作。在有些应用中我们需要通过程序来自动关闭这个消息对话框而不是由用户点击确认按钮来关闭。然而.Net framework 没有为我们提供自动关闭MessageBox 的方法,要实现这个功能,我们需要使用Window API 来完成。 首先我们需要找到这个消息对话框的窗口句柄,一个比较简单的方法就是用 FindWindow API 来查找对应的窗体句柄。[DllImport("user32.dll",SetLastError=true)]staticexternIntPtrFi 阅读全文
posted @ 2014-01-14 09:48 蚂蚁拉车 阅读(1174) 评论(0) 推荐(0) 编辑
摘要:用户关闭软件时,软件一般会给“是否确认关闭”的提示。通常,我们把它写在FormClosing 事件中,如果确定关闭,就关闭;否则把FormClosingEventArgs 的 Cancel 属性设置为 true,就取消了该窗体的关闭。如果该窗体是主窗体,我们想在该窗体关闭时关闭整个应用程序,会遇到至少两种情况:(1)该窗体同时是启动窗体,即它是应用程序中所有窗体的父类,则整个应用程序会被关闭。(2)如果该窗体不是启动窗体,比如我们做了一个欢迎窗体,则应用程序中所有窗体的父类就是这个欢迎窗体了。这时该窗体的关闭并不会关闭整个应用程序。我们需要再加入“Application.Exit()”这行代码 阅读全文
posted @ 2014-01-09 12:11 蚂蚁拉车 阅读(83192) 评论(0) 推荐(3) 编辑
摘要:引子 delegate:代表,授权,翻译为“委托”,即用对象代表方法成员或对象被授权执行方法成员。看下面一小段代码: int Max(int x,int y){ return x>y?x:y;}int Min(int x,int y){ return x SpeakEnglish(msg); delSample3("KoalaStudio"); Console.ReadKey(); } private void SpeakChinese(string msg) { Console.W... 阅读全文
posted @ 2014-01-09 10:42 蚂蚁拉车 阅读(401) 评论(0) 推荐(0) 编辑
摘要:参考资料:http://www.yesky.com/20010207/158097.shtmlhttp://www.ftponline.com/china/XmlFile.aspx?ID=242http://research.microsoft.com/~chadv/java_com2.htmhttp://blogs.msdn.com/jfoscoding/archive/2005/04/07/406341.aspx.NET支持两种线程模型:STA和MTA。STA(single threaded apartments)。apartment只是一个逻辑上的概念,它可以包含一个或多个线程。一个Ap 阅读全文
posted @ 2014-01-08 10:10 蚂蚁拉车 阅读(3482) 评论(0) 推荐(0) 编辑
摘要:上图为IP报头的结构图,下图为捕捉的IP数据包 版本号(Version):长度4比特。标识目前采用的IP协议的版本号。一般的值为0100(IPv4),IPv6的值(0110)IP包头长度(Header Length):长度4比特。这个字段的作用是为了描述IP包头的长度,因为在IP包头中有变长的可选部分。IP包头最小长度为20字节,由于变长的可选部分最大长度可能会变成24字节。服务类型(Type of Service):长度8比特。这个子段可以拆分成两个部分:Precedence和TOS。TOS目前不太使用。而Precedence则用于QOS应用。(TOS字段的详细描述RFC 1340 134. 阅读全文
posted @ 2014-01-06 12:50 蚂蚁拉车 阅读(1029) 评论(0) 推荐(0) 编辑
摘要:有很多扩展类的方式,如果有类的源代码,继承是给对象添加功能的好方法。但如果没有源代码,我们可以用扩展方法,它允许改变一个类,但不需要该类的源码。 扩展方法是静态方法,他是类的一部分,但实际上没有放在类的源代码中,假如有一个Money类,里面有个Amount属性,我们想给其增加一个方法,可以如下编写: public static class MoneyExtension { public static void AddToAmount(this Money money, decimal amountToAdd) { money.Amo... 阅读全文
posted @ 2014-01-02 11:59 蚂蚁拉车 阅读(424) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示