- 博客(23)
- 收藏
- 关注
原创 加密解密实现和原理
我们有这样的一个场景,有发送方,接收方,第三方。发送方想要发送消息给接收方,第三方想要截取消并篡改消息,然后再转发给接收方。怎样才能衬得上是安全的交流方式呢?一般来说需要满足下面的三个条件:完整性(消息不被篡改),保密性(第三方无法解密),可认证性(接收方知道消息是由谁发送的)。首先,我们来讲下MD5加密,严格来说,MD5并不能称为加密,它只是一种散列运算,对消息进行散列运算,可以获得
2016-11-03 17:53:50
3281
原创 C#的字节与流
计算机中文件有很多种,我们知道实际存在计算机中的都是二进制。这里我记录了通过流对文件的读取操作。首先在这里简单涉及下位,字节,字符的概念。位(bit)可以表示0或1,字节(byte)由8位组成(bit),可以表示0-255,256个不同的数据。字符,字符根据编码的不同有所区别。ANSI编码(本地化),它是支持本地的编码方式,不同 ANSI 编码之间互不兼容。在简体中文系统下
2016-11-03 13:49:56
1372
原创 C# 服务器间读取上传图片实现
由于项目使用了负载,所以有这样的需求,需要把文件保存到同一个服务器下,然后去指定的服务器读取文件。我经过了一些搜索,找到了2个办法来实现。一种是使用共享文件夹的方式,还有一种是使用FTP协议去传输文件。下面先记录下使用共享文件夹的方式。首先,在指定服务器下,创建共享文件,名称为Share,把它共享给所有人,读写权限。然后,代码如下:using System;using Sys
2016-10-28 14:47:00
2355
原创 web服务端,客户端把数据写入文件并导出
业务中经常有些需求,需要把数据通过csv文件导出,以方便用户操作数据。在这里我简单的记录下客户端和服务端的导出方式,以便下次使用。服务端导出方式,将数据写入response中即可,下面是代码 public void ExportDataToCsvFile(HttpResponseBase Response, DataTable dt, string FileName)
2016-05-19 15:53:03
1213
1
原创 Ajax发送json格式数据到Asp.net MVC服务端的一些代码片段
最近一直做些asp.net mvc的页面,每次前端与后端交互,都要baidu查下代码怎么写,也不去思考为什么这么写,导致每每写这代码,都需要下search下代码。正好现在有点空闲时间,我就把我写的代码整理下,做个记录。并且把自己的思路理理清楚。内容比较简单,希望也能对大家有点帮助。 先介绍下Json,Json是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的
2016-05-17 17:29:39
2283
原创 SQL注入
SQL注入是服务端的安全问题,注入攻击的本质,是把用户输入的数据当做代码执行。这里有两个关键条件,第一个是用户能控制输入,第二个是原本程序要执行的代码拼接了用户输入的数据。例如:正常情况下,用户输入查询条件“上海”时,sql语句是“select * from city where name = ‘上海’”,当用户输入“上海‘;drop table city”,那么sql语句就会
2016-04-27 16:10:58
289
原创 CSRF跨站点请求伪造
CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF,CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求例如:你登陆了一个网站http://blog.sohu.com然后你又访问了恶意的网站www.abc.com,他构造了一个恶意的请求去
2016-04-27 14:57:39
709
原创 XSS(跨站脚本攻击)
XSS攻击:跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。XSS攻击分为几种:1.反射型XSS反射型XSS只是简单地把用户输入的数据“反射”给浏览器。黑客往往需要诱使用户“点击”一个恶意链接,才能攻击成功。例如:http://localho
2016-04-26 15:55:09
1018
原创 读某大型网站技术架构总结
大型网站技术架构这本书是对服务端开发人员很有用的书,里面涉及到了网站从小到大发展会碰到的问题并解决的办法。虽然没有细节描述,但是对于有点积累的开发人员还是一点就通的,让你在网站架构有个全面的了解。具体的得碰到问题解决问题。首先,需要强调的是业务驱动技术,技术再怎么强大,网站架构的再好,没有业务支持也体现不出价值。所以一开始的网站不需要做的很庞大,而应该根据业务发展一起改变。否则就是本末倒置了。
2015-12-21 15:05:48
410
原创 数据库连接池
今天,在一本关于大型网站技术架构的书中看到了关于服务端性能优化方面的知识,有一方面是使用数据库连接池。突然想想自己在从事的编程工作中都是以实现业务为主,对数据访问层越来越无知了。所以抽时间看了下 Ado.Net的数据库连接池。在此分享下,希望对大家有帮助。 首先,程序创建数据库连接是比较耗时耗资源的工作,之所以会这样,是因为连接到数据库服务器需要经历几个漫长的过程:建立物理通道(
2015-12-03 14:57:28
403
原创 C# dll反混淆,反编译
C#的源代码通过编译,会变成中间语言,dll程序集。如果我们想看源代码,需要反编译。有些代码经过了混淆,就需要反混淆。我们先通过反编译软件Reflector,把dll中的代码反编译下。这里只要打开reflector,然后引入这个dll就行。经过混淆的代码,如下public static BaseSqlGenerator GetSqlGenerator(ModelConfigOpti
2015-09-29 13:35:32
6376
原创 WCF Restful通过svc文件发布
首先,给wcf restful下个定义WCF 很好的支持了 REST 的开发, 而 RESTful 的服务通常是架构层面上的考虑。 因为它天生就具有很好的跨平台跨语言的集成能力,几乎所有的语言和网络平台都支持 HTTP 请求,无需去实现复杂的客户端代理,无需使用复杂的数据通讯方式既可以将我们的服务暴露给任何需要的人,无论他使用 VB、Ruby、JavaScript,甚至是 HTML FORM,
2015-09-22 17:26:54
1290
原创 WCF 服务端的异步
WCF的异步可分为客户端和服务端。这篇文章介绍服务端的异步实现自己碰到了这样的一个问题, 我们系统的服务端数据量特别大,程序执行时间长,导致客户端请求会中断链接,这样客户端就得不到回应,所以因这个问题对WCF的异步做了一些研究,但是发现它并不是解决这个问题的办法。下面我讲下服务端异步。服务端异步,WCF技术内幕这本书中就简单的几句话。操作中执行I/O的操作,这样可以用异步,因为这样可以带来
2015-09-17 15:03:55
1115
原创 WCF 客户端的异步
WCF的异步可分为客户端和服务端。这篇文章介绍客户端的异步实现异步的原理,在当前线程中,通过启动一个新线程,去执行任务,而不用让当前线程等待,等任务执行结束,回调callback方法。客户端异步请求WCF服务,就是创建新线程去执行请求操作。这样客户端的UI线程不会因为请求而被阻塞,给用户更好的体验。1.先定义服务端,跟普通的定义一样 [ServiceContract]
2015-09-17 14:37:44
648
原创 关于Windows Service
Windows Service,服务。首先讲下服务的原理,服务是由windows给你自动或者手动调用的程序,它本质上也是调用你的项目的exe文件。你可以定义一个timer,定时执行代码。下面看看如何创建服务项目首先使用vs2010创建然后在创建的Service1中右键右键此时,项目中会出现ProjectInstaller.cs文件在ProjectInst
2015-09-11 17:25:04
781
原创 C# 读取Excel到DataTable中
1. 先描述下碰到的问题,我的excel中有又一列,有数字和文本,任凭我在Excel中设置单元格格式也无济于事。通过"Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + Path + ";" + "Extended Properties=Excel 8.0;"读取的时候,它会认为那一列为double型,所以文本内容为空,并且在我后面的转换会报
2015-09-08 16:02:44
3436
原创 c# 多线程详解
线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。当程序中有多个线程运行,就称为多线程。多线程在windows form等编程是经常会用到的,它可以让UI主线程不阻塞,同时更有效的利用cpu资源,有更好的用户体验。但是当多个线程访问共享资源(比如静态变量)时,就需要考虑到线程同步的问题。比如当有一个线程对共享资源在写的时候,别的线程需要等
2015-07-16 10:56:22
645
原创 委托的异步回调
C#中Action,Function是两个委托的封装类。它们可是同步调用,也可以异步回调。所谓同步调用,就是在同一线程中执行,当委托方法在执行时,线程等待方法执行完再往下执行。异步回调,就是执行委托方法时,会另起一个线程去执行委托的方法,主线程会继续往下执行,当委托方法结束时,回调方法并通知主线程。下面我只介绍下异步回调:示例代码如下: public class Asyn
2015-07-14 11:23:13
446
原创 MSMQ简介
msmq(微软消息队列)是windows操作系统中消息应用程序的基础,是用于创建分布式、松散连接的消息通讯应用程序的开发工具。这种设计方式是异步的,消息队列是中间人,发送方发送消息给消息队列,不需要等待响应,就可以直接返回。接收方从消息队列中获取消息。类似生产者,消费者的模式。安装:msmq软件在windows组件中,通过 开始—》控制面板—》程序—》程序和功能—》打开或关
2015-07-01 14:03:11
903
原创 C# 委托、事件
C#的委托可以把方法当做参数传递,方便我们回调方法,它的用处很多,为我们编程提供了很大的便利。方法定义public void EnglishGreeting(string name)委托定义public delegate void GreetingDelegate(string name);delegate 是委托的关键字,GreetingDelegate是一个委托类名,它
2015-05-25 11:43:57
343
原创 C#中的集合
大多数集合都在System.Collections,System.Collections.Generic两个命名空间。其中System.Collections.Generic专门用于泛型集合。 针对特定类型的集合类型位于System.Collections.Specialized;命名空间; 线程安全的集合类位于System.Collections.Conc
2015-05-22 14:50:10
442
原创 C#中的数组,ArrayList,List
我从事.net开发有4年了,工作之初一直对基础有巩固和加强,现在反而忘掉了不少基础知识,所以来回顾回顾知识点。 集合是比较重要,通用的工具类。 首先是数组Array,数组在C#中最早出现的。在内存中是连续存储的,所以它的索引速度非常快,而且赋值与修改元素也很简单。 但是数组存在一些不足的地方。在数组的两个数据间插入数据是很麻烦的,而且在声明数组的时候必
2015-05-22 13:57:01
607
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人