自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 SSL双向认证下提升用户友好性的两例

这两天,遇到了一个SSL双向认证的问题,感觉挺有意思,结合以前看到的一个应用例子,这里一起做个总结。SSL双向认证,就是说服务器可以发送certificate request报文来请求客户端的证书,以验证客户端身份。双向认证要求给每一个用户颁发证书和密钥,用户还需要将证书安装在浏览器上,这样的要求使部署和使用都有点麻烦,因此大部分的https应用都是单向认证的。不过,在一些安全性要求较高的场景

2017-12-17 21:51:45 489

原创 业务与安全,程序员思维的两面

前些天遇到了一个关于Bleinchenbacher padding oracle攻击的问题,不是很难,但是比较有趣。其乐趣在于,一来我是第一次接触密码学意义上的攻防,需要在协议实现层面去分析漏洞,二来是事后做了一些情不自禁的思考。这个事情,还是得从原理说起。RSA的延展性在密码学中,延展性是密码算法的一种性质。如果对一段密文经过处理后得到另外一段密文,而新的密文所对应的明文,于原明文具

2017-11-19 22:17:25 416

原创 stm32的flash编程

有时需要存储一些数据,在复位后仍然不会丢失,这可能就会用到片上flash,stm32的片上flash结构见stm32的存储器与复位。对flash的编程逻辑上是比较简单的,《flash编程手册》上写的很清楚,3.5固件库给出的例程为:FLASH_UnlockBank1();FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_PGERR | FLASH_

2012-09-24 17:16:38 4761 1

原创 循环冗余校验CRC

网上搜到的内容不全面,维基百科讲的比较好,原理很清楚传送门。其实对于程序员来讲,不用太在意它的数学原理,另外生成码的选择不是随意的,这可能影响到校验的性能。注意其中的加法不进位,减法不借位,类似是异或逻辑。关于怎样产生CRC,有这样一个算法:下面为CRC的计算过程:      1.设置CRC寄存器,并给其赋值FFFF(hex)。      2.将数据的第一个8-bit字符与16

2012-09-05 21:23:55 1158

原创 各种接口

一、DB9与DB25九针串口     串口是计算机主要的外部接口之一,通过九针串口连接的设备有很多,像串口鼠标、MODEM、手写板等等,九针串口的示意图如上,其各脚的定义如下:1 DCD 载波检测     2 RXD 接收数据 3 TXD 发送数据 4 DTR 数据终端准备好5 SG 信号地线6 DSR 数据准备好7 RTS 请求发送8 CTS 清除发送

2012-09-02 20:13:25 3322

原创 stm32模拟iic——引脚配置、代码

我的工程里要用到iic总线扩展rom,stm32是有硬件iic的,但是,网上有很多人说这个硬件iic有漏洞,甚至于有bug。http://bbs.21ic.com/icview-184741-1-1.html http://blog.gkong.com/more.asp?name=zjcsharp&id=112878。《例说stm32》的表述是:“非常复杂,不太好用”。那么我判断这个硬件iic可能

2012-08-26 09:45:35 5069 1

原创 stm32f1的存储器与复位

一、存储器映射       1、统一编址,程序存储器、数据存储器、外设寄存器组织在一个4GB的地址空间。       2、小端格式       3、映像(stm32f107,256KB产品)            可以看到,所谓的256KB闪存,是指主存储,片上FLASH如下图所示:            介绍了片上的资源后,来看他们的地址映像。芯片将4GB的空间,划分

2012-07-15 16:08:07 5269 1

原创 STM32f1的中断系统

stm32是一款基于cortex m3的单片机,其对中断的控制在核内部,因此stm32对中断处理与cortex m3区别不大一、几个概念          异常与中断:《权威指南》译者给出的定义为:“所有能打断正常执行流的事件都称为异常”、“异常与中断的区别在于,那240个中断对CM3核来说是‘突发事件’,也就是说该请求信号来自CM3核的外面,对CM3核来说是‘异步’的;而异常则是因CM3

2012-07-14 22:55:10 5574

原创 stm32f1的IO,推挽与开漏

stm32的引脚有两种用途:GPIO(general purpose io)和AFIO(alternate function io)对于一些引脚(视芯片而定),这两种用途都没有,如在64脚产品中,OSC_IN/OSC_OUT与作为GPIO端口的PD0/PD1共用一样的引脚,而在100、144引脚产品中,这四个功能各有引脚与之对应,不互相冲突,所以OSC_IN/OSC_OUT既不作GPIO也不作

2012-07-09 12:39:22 12219

原创 stm32f1时钟分析

STM32片上时钟分析一、前言1、本文主要讨论系统时钟以至外设时钟之间的源流关系。介绍stm32的片上时钟系统,描述系统时钟初始化函数SystemInit()对时钟的控制(从HSE到SYSCLK,第二节)与配置(SYSCLK到外设,第三节)。2、103与107所用时钟系统略有不同,但系统时钟(SYSCLK)都是72MHz。3、f107应当使用25MHz晶振。若采用8MHz的晶振,搭

2012-07-06 11:30:32 2494

转载 const与volatile

一个例子说明constconst and volatileconst与指针一起使用的情况分析及总结:        const int nValue; //nValue是const        int const nValue; // nValue是const  const char *pContent; //*pContent是const, pConte

2012-04-09 22:12:40 1696 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除