- 博客(27)
- 问答 (3)
- 收藏
- 关注
原创 加密解密算法与通讯安全(六)
数字证书 上面说了这么多算法,又是摘要算法,又是对称加密算法,又是非对称加密算法的。但是对于通讯中的四种威胁——截获、中断、篡改、伪造最多也就只能解决其中的两个,对于中断、和伪造威胁,只能干瞪眼。难道,就没有其他办法了吗。 对于中断,一般是网络拓扑或协议级别要解决的问题,已经超出了我们的范畴,暂时不表,我们只能做到的是当网络不可用时,传输的数据出现丢包或异常时可以进行及时的建设...
2013-05-05 15:56:59 157
原创 加密解密算法与通讯安全(五)
数字签名以上三种算法都有防篡改的功能,但摘要算法、和对称加密算法若要防篡改,则需要交换密钥,这又是一件麻烦事儿。所以一般在单纯的防篡改的需求上,都是使用非对称加密算法。但若是对整个明文进行加密的话,加密过程势必消耗大量时间,所以就诞生了数字签名。数字签名,本质上就是非对称加密算法,但出于解密运行效率的考虑,并是不对明文进行加密,而是对明文的摘要加密,生成“数字串”,并将“数字串”附在明文...
2013-05-04 17:36:39 185
原创 加密解密算法与通讯安全(四)
非对称加密算法对称加密算法指加密解密用同一密钥,那么非对称加密就是加密解密用不同的密钥。加密算法一次生成两个密钥,一个叫做公钥,一个较为密钥。公钥加密的数据,用密钥解密;密钥加密的数据,用公钥来解密(有些非对称加密算法,只能用密钥加密,公钥解密,或只能用密钥加密,公钥解密)。非对称加密算法的确神奇,其理论的基础来自于数论。例如RSA算法建立在数论中的“大数分解和素数检测”的理论基础上。...
2013-05-04 17:31:58 166
原创 加密解密算法与通讯安全(三)
对称加密算法理论上说对称加密算法,才是我们真正说的加密算法。所谓对称加密算法,通俗的讲,就是使用密钥加密,再使用密钥解密的加密算法的总称。也就是平时我们说到加密算法,脑子里第一个跳出来的加密方式一般都是对称加密算法。上面将的base64其实也是一种“对称加密算法”,只是其密钥公开了而已。 通讯模型同样的场景:客户端要将数据data发给服务器端。客户端对使用密钥key,对数据d...
2013-05-04 17:28:41 174
原创 加密解密算法与通讯安全(二)
摘要算法 我们在平时的工作中经常听到MD5算法。比如在一些下载页面里会给出一个md5的作为文件验证串,在迅雷下载中作为文件的唯一标识。这类算法严格上来说也不是加密算法,是一种叫做摘要算法的算法,不过在平时的使用中,我们经常将摘要算法混合使用,所以在广义上来说也可以将他叫为加密算法。 摘要长度 摘要算法的特点是可以将任意长度的字符串,给转换为定长的字符串。可以...
2013-05-04 17:22:37 148
原创 加密解密算法与通讯安全(一)
平时在工作和生活中,我们会经常接触加密、解密的技术。尤其在今天网络化的时代里,越来越多的用户会将数据存储在云端,或使用在线的服务处理信息。这些数据有些涉及用户的隐私,有些涉及用户的财产,要是没有一套的方案来解决用户的数据安全问题的话,这将是一个多么可怕的事儿。同时,我们作为开发者,也会经常遇到用户对数据安全的需求,当我们碰到了这些需求后如何解决,如何何种方式保证数据安全,哪种方式最有效...
2013-05-04 17:16:35 194
原创 新浪微博开放平台链接耗尽的情况分析
[size=medium]在测试环境发现了一个问题,每次服务器重启后,所有对新浪微博的请求都可以正常的发出,但从第9请求开始,请求耗时将变为40s左右。问题要从9和40s这两个关键词开始,httpclient的代码如下:[/size][code="java"]ProtocolSocketFactory protocolSocketFactory = new EasySSLProto...
2013-02-14 21:49:46 162
原创 豆瓣开放平台api的坑
最近在接豆瓣的分享,期间碰到了较多的陷阱,一路磕磕碰碰,还好最终都解决了。下面总结下期间耗费了我一天的一个巨坑。。。第一次使用在使用豆瓣广播api(shuo/v2/statuses/)即碰壁,查找原因后发现最后的“/”必不可少。那么我们继续:[code="java"]MultiThreadedHttpConnectionManager httpConnectionMan...
2013-01-07 22:08:14 308
原创 关于两种限流模式
流量预警和限流方案中,比较常用的有两种。第一种滑窗模式,通过统计一段时间内的访问次数来进行控制,访问次数达到的某个峰值时进行限流。第二种为并发用户数模式,通过控制最大并发用户数,来达到流量控制的目的。下面来简单分析下两种的优缺点。 1、滑窗模式 模式分析: 在每次有访问进来时,我们判断前N个单位时间内的总访问量是否超过了设置的阈值,并对当前时间片上的请求数+1。...
2012-12-10 01:29:49 271
原创 关于容灾源码参考
容灾、当tair挂了后,没5s自动尝试一次[code="java"]private boolean readFromTair() { if (errorCount>1000) { //tair down了 if (lastReadTairTime > 5) { errorCount--; //这里-1主要是readFromTair可能会+1,为了保证计数准确 read...
2012-08-21 13:52:04 186
原创 从Runnable中的运行时异常说起
前段时间,夜晚突然收到报警,紧急上线排查。由于dba操作不当,大片数据回滚,发生锁表的情况,请求返回时间过长,使得系统打印出大量的RejectedExecutionException的异常。定位到代码片段类似:[code="java"]ThreadPoolExecutor workers = new ThreadPoolExecutor(10, 600, 30, TimeUnit.SECO...
2012-08-19 22:17:34 487
原创 树与存储
[b][size=x-large]二叉树:[/size][/b]一个根节点,每个节点下挂着最多2个子节点。、[b]概念:[/b]度:结点的分支数,二叉树度为2。深度:树的层次。[b][size=x-large]二叉排序树:[/size][/b]二叉树的基础上,每个节点上都有一个数字,节点上的数字都比右节点上的大。[b]应用场景:[/b]基于内存的排序数据结构,写...
2012-07-17 10:03:29 116
Spring笔记(十二)自动代理AspectJ切面
[b]一、声明式通知[/b][i] 1、@Before[/i][i] 2、@AfterReturning[/i] a、要获得目标方法的返回值,必须使用returning属性,在@AfterReturning的参数上设置(参数名的绑定),表示向下面方法的哪个参数传入目标方法的返回值。(声明式通知) b、例如: [code="java"] @AfterReturn...
2009-03-21 20:54:06 90
Spring笔记(十一)Introduction引入
[b]一、在不修改目标对象的源代码的情况下,为目标对象增加方法和属性。[/b][b]二、实现方法[/b] 1、我们要将新增加的方法声明放在新的接口中。[code="java"]public interface IOtherBean { public void doOther();}[/code] 2、编写引入类,实现拦截器IntroductionInterce...
2009-03-21 16:37:07 228
Spring笔记(十)Spring简化aop编程
一、spring提供了很多常用的接入点和advisor,两者相对出现。二、NameMatchMethodPointcutAdvisor-NameMatchMethodPointcut 1、用于匹配方法名,确定切入点。 2、可以自己写一个ClassFilter,注入NameMatchMethodPointcut中。 3、也可以直接将方法名注入到mappedName中。或注入...
2009-03-21 16:25:06 83
Spring笔记(八)aop编程
[b]一、Advice:最顶层接口为aop联盟定制[/b][i] 1、Methods Before Advice[/i] a、实现MethodBeforeAdvice接口。 b、在目标方法执行之前被执行。 c、不能阻止目标方法被调用。 d、不能改变目标方法的返回值。 e、例如在进行权限控制时,一般不使用Methods Before Advic...
2009-03-21 16:19:55 92
Spring笔记(九)Spring aop的两种实现
[b]一、目标对象实现代理接口,使用动态代理机制(JDK的proxy)[/b] 1、由于JDK的代理方式要求目标对象实现了接口。 2、相关类java.lang.reflect.Proxy、java.lang.reflect.InvocationHandler。[b]二、若目标对象未实现代理接口,使用动态代理机制(CGLIB项目)[/b] 1、CGLIB通过生成目标对象的子...
2009-03-21 15:13:07 100
Spring笔记(七)代理模式与aop
[b]一、用代理模式可以实现aop[/b] 1、目标对象和代理对象共同实现同一个接口,当用户调用接口时,返回代理类,代理类里先进行交叉业务逻辑,再进行目标对象的业务逻辑。[img]/upload/attachment/86423/5f8e4a75-5de6-3570-8702-c516c8e37911.gif[/img] 2、使用JDK中的Proxy类,我们可以只需什么一个切面...
2009-03-21 15:04:41 127
Spring笔记(六)aop概念
[b]一、概念[/b]: 将程序中的交叉业务逻辑(比如安全、日志、事务)封装成切面,然后注入(织入)到目标对象(具体业务逻辑),生成代理对象。[b]二、aop实现方式:[/b] 1、静态织入:在编译阶段通过特殊的编译器来实现。(AspectJ) 2、加载织入:在加载阶段通过ClassLoader类实现。(AspectJ) 3、动态代理:在运行阶段通过动态代理机制...
2009-03-21 14:50:33 143
Spring笔记(五)Spring事件处理机制
[b]一、自定义事件[/b] 1、继承ApplicationEvent。[code="java"]import org.springframework.context.ApplicationEvent;public class RegisterEvent extends ApplicationEvent { public RegisterEvent(Object sour...
2009-03-21 14:45:51 85
Spring笔记(四)Spring的后处理Bean
[b]一、BeanPostProcessors接口[/b] 1、用于对Bean的功能进行扩展,对Bean进行修改。 2、在Bean初始化操作之前和之后各调用一次。[b]二、BeanFactoryPostProcessors接口[/b] 1、用于在Bean实例化前,对配置信息进行修改。[b]三、后处理Bean的使用[/b] 1、先实现接口和方法。 2、在...
2009-03-21 14:35:11 83
Spring笔记(四)Spring的后处理Bean
[b]一、BeanPostProcessors接口[/b] 1、用于对Bean的功能进行扩展,对Bean进行修改。 2、在Bean初始化操作之前和之后各调用一次。[b]二、BeanFactoryPostProcessors接口[/b] 1、用于在Bean实例化前,对配置信息进行修改。[b]三、后处理Bean的使用[/b] 1、先实现接口和方法。 2、在...
2009-03-21 14:34:29 102
Spring笔记(三)Spring容器管理下Bean的生命周期
[b]一、实例化[/b][b]二、装配(可选)[/b][b]三、回调(可选)[/b] 1、第一个回调接口BeanNameAware,如果一个Bean继承了该接口,Spring会将配置文件里的id通过setBeanName方法传递过来。 2、第二个回调接口BeanFactoryAware,如果一个Bean继承了该接口,Spring会将BeanFactory通过setBeanFac...
2009-03-21 14:24:11 94
Spring笔记(二)自动装配
一、通过名字自动装配 1、[code="xml"][/code] 2、Spring会自动根据属性名去容器中寻找bean。二、通过类型自动装配 1、[code="xml"][/code] 2、Spring会自动根据类型去容器中寻找bean。 3、但多于一个匹配的,就会抛出异常。三、匹配构造器自动装配 1、[code="xml"][/code] 2、根...
2009-03-21 14:01:56 77
Spring笔记(一)集合类型的IoC
一、Set 1、[code="xml"] 1 2 bean [/code]二、List 1、[code="xml"] 1 2 bean ...
2009-03-21 13:57:18 85
空空如也
element.clone()出来的对象不能使用selectNodes()方法的原因
2009-07-08
此需求适用spring security吗
2009-03-28
struts1.x里po转formBean
2009-03-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人