头部背景图片
senrenbankaの部落格 |
senrenbankaの部落格 |

Python文档之Tkinter

2016-03-08

最近打算做一个python的音乐播放器,GUI采用python的Tkinter去写(虽然用python去写GUI是很蛋疼的QAQ),但是网上关于Tkinter模块的说明都是英文的,还不如直接去啃python文档中的Tkinter模块部分,于是乎就去啃了TKinter模块的英文文档。。。这里讲讲文档上看到一些姿势。

Setting Options:

当我们创建widget时,如果我们要给widget添加相关的设置,有三种方法添加:

通过constructor来指定option
通过索引来指定option
通过config来指定option

举个栗子:

这三种方法都可以设置
self.button = Tk.Button(bg='blue')  
self.button['bg']='blue'
self.config(bg='blue')

如果我们想要设置某些参数但又不知道怎么设置,我们可以通过config()来打印出设置的参数:

print(self.button.config())

注意!如果是有类似bg这种属性缩写的话,一般是个2-tuple,不然是个5-tuple:(来自python的官方文档)

option name
option name for database lookup
option class for database lookup
default value
current value

信息安全小知识

2016-03-04

引言:

上次写了篇关于SSL协议的博文,感觉意犹未尽,这次来讲讲其他一些信息安全的知识,大概就侃侃这些:

加密算法
摘要算法
数字签名
数字信封


加密算法:

上次讲过,SSL握手协议中客户端将与服务端协商得到的共享对称密钥进行信息的加密,再用服务端给的公钥进行加密,传输给服务端,服务端用自己的私有密钥进行解密,再用对称密钥解密得到客户端传输的数据信息,这个过程中牵扯到两种加密算法:

私钥加密(对称加密)
公钥加密(非对称加密)

先讲讲私钥加密:
私钥加密的加密密钥和解密密钥是一样的,所以又称为对称加密,DES,AES加密算法就是私钥加密,要求你有正确的密钥才能解开密文,所以,在这种情况下,密钥的保存相当重要,而加密的算法被公开也不会影响数据的安全性(单单只是加密算法而没有密钥解开密文的可能性几乎为0),如果密钥被截取,那么第三方可能通过逐一尝试算法进行解密,信息很容易被第三方窃取,所以如果用的是私钥加密,那么密钥是一定要保管好的

再谈谈公钥加密:
公钥加密的加密密钥和解密密钥是不同的,所以又称其为非对称加密,这方面对应的算法有RSA非对称算法,举个例子:A有自己的私钥,B给A的公钥,B有自己的私钥,A给B的公钥,A写了一段信息,用B给的公钥进行加密,再发送给B,防止有人偷看信息,B拿到信息之后再用自己的私钥解开密文,拿到A的信息,反之,若B要发送给A信息,则只需要用A的公钥加密,A端用自己的私钥解密就行了。下图展示了公钥加密的过程:公钥加密

公钥加密与私密加密各有优缺点,私钥加密只用一把密钥进行加密解密,安全性相对公钥加密要低,但是比公钥加密要快上许多,如果遇上大信息量的加密解密,私钥加密要比公钥加密快上几千倍!一般的想法是:将大信息量用私钥加密进行过加密,得到的密文比明文要小了许多,这时再用公钥加密会节省许多时间,比起只用公钥加密要快得多。

浅析SSL协议

2016-03-03

前几天教务系统选课,发现教务系统已经开放了https的链接,终于学校方面也开始用SSL来保证传输的安全性了,这里稍微讲讲一下SSL协议吧~

SSL(Secure Sockets Layer)又称安全套接字层,是一种调用各种加密方法,保证网络通信安全的策略,
我们通常访问网站用的是http协议传输,http协议是明文传输,没有任何加密,所以数据信息很容易被中间人窃听或是劫持,数据的安全性得不到保证,而https则是采用了SSL协议,将传输的数据进行加密,这样就算数据被中间人劫持,也不容易被破解获取,所以现在很多企业都在用https,甚至许多反向代理服务器都有SSL功能。

SSL协议包括两个协议:

用hexo搭建博客

2015-12-20

昨天用hexo搭建好了静态博客,途中经历了一些曲折,在这里分享我搭建博客的过程经验,也算给想搭建博客的新人一个引导吧!

前期准备:

  • 安装Node.js:
  • Node.js下载

    根据你的系统下对应的node.js版本,例如我的系统是win7 64位的,那么我就下Windows版本的64-bit版本

  • 安装git:

  • Git下载

    同样下好对应系统的git版本

    如果安装好了Node.js和git,我们可以开始安装hexo了~

安装hexo

随便找个什么地方右键git bush here 然后执行下面的指令:

npm install hexo -g

这里是全局安装hexo,这个过程有点慢(你懂的),建议翻墙安装(我是翻墙安装的,速度贼快。。。)

avatar AONOSORA 今生今世轮回尽, 来世愿为幻想乡