电脑壁纸

2018-09-20
6

Python笔记 基础篇

for循环lst = [1, 2, 3, 4, 5]

for i in lst:

print(i)

whiledef func(max):

n = 0

while True:

n = n + 1

if n > max:

break

print(n)

func(10)

条件语句def func(is_rish_man):

if is_rish_man:

print('打工是不可能打工的,这辈子都不可能打工')

else:

print('真香')

......

2018-06-02
112

Python笔记 变量作用域

Python变量查找顺序 L -> E -> G -> B

L (Local) 局部作用域

E (Enclosing) 闭包函数外的函数中

G (Global) 全局作用域

B (Built-in) 内建作用域

局部变量def func():

word ......

2018-06-02
107

Python笔记 第一个Hello world

Helloprint('Hello world')

变量

Python中变量不需要显示声明类型

words = 'Hello world'

print(words)

常见类型# 数值

cash = 0

# 小数

card = 0.01

# 字......

2018-06-02
106

Python笔记 第0篇

个人小站

github

目录基础

第一个Hello world

变量作用域

推导式

编码问题

数据结构

字符串

列表

元组

字典

集合

函数编程

闭包

装饰器

递归

面向对象

类与对象

继承

进阶

python中的协议

生成器

元类

垃圾回收

内建库

collections

functools

sys

os

signal

datetime

进程线程

进程

线程

其他

Python书籍

程序打包

测试......

2018-06-02
105

密码学入门

加密与破解就像矛盾一样博弈

2018.1

历史上的密码学凯撒密码

通过将明文中所使用的字母表按照一定的字数“平移”来进行加密

简单替换密码

将明文中所使用的字母替换为另一套字母表的密码

Enigma

二战德国使用的Enigma

2018-04-16
173

密码学笔记之 RSA加密

什么是RSA

1977年,三位数学家Rivest、Shamir 和 Adleman 设计了一种算法,可以实现非对称加密。这种算法用他们三个人的名字命名,叫做RSA算法。

RSA算法基于一个十分简单的数论事实:将两个大质数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。

RSA 原理

密钥生成

选择两个大质数p 和 q

计算这两个数的乘积 n = p * q

选择一个随机数e 作为加密密钥, 保证 e 和 (p - 1) (q ......

2018-01-25
205

密码学概览 入门笔记

密码学术语

对称密码 symmetric cryptography

公钥密码 public-key cryptography/非对称密码 asymmetric cryptography

混合密码系统 hybrid cryptosystem

单向散列函数(one-way hash function):可以检测出数据是否被篡改过,即保证数据完整性(integrity)

消息认证码(message authentication code):不但能够确认消息是否被篡改过,而且能够确认消息是否......

2018-01-25
176

cryptokit更轻松的在python中实现加密解密

安装

pip install cryptokit

AES 使用

from cryptokit import AESCrypto

message = "hello cryptokit"

crypto = AESCrypto('WDMG1e38igW53YuxkE0SsKUDeLbULAtL', 'm2VYHdx41zRgvg6f')

data = crypto.encrypt(message, mode='cbc&#......

2018-01-15
197

密码学笔记之 AES加密

什么是 AES

AES(高级加密标准) 在密码学中又称Rijndael加密法, 这个标准用来替代原先的DES

AES的历史过程

1997年4月15日,美国ANSI发起征集AES

2000年10月2日,NIST宣布Rijndael作为新的AES加密方案

什么是 Rijndael

2018-01-10
105

密码学笔记之 什么是SHA

举个现实生活的例子

我们每个人都需要一个用于区分自己与他人不同的标志

也许你会想用姓名或者身份证等来代表你,但是这些都不是有效的区分你和他人的方法

因为姓名可能重复身份证可以伪造。所以目前最可靠的可能就是你的基因序列了,

但这样做的成本就太高了,所以指纹是一个不错的选择

互联网的例子

同样,互联网传输数据也需要标示一个文件,以确认文件的唯一性

而SHA就是生成文件唯一性的一种方式(算法)

SHA算法

SHA是一组算法的统称

SHA0 ......

2018-01-08
228

Python2016阅读历史

2017-1整理

2017-1

A collection of design patterns/idioms in Python

写给Python初学者的设计模式入门

python设计模式之观察者模式

在TCP的四次分手当中,被动关闭方是如何知道数据已经接收完了?

计算机网络入门基础篇

怎么开始学习网络协议?

车小胖谈网络:Ethernet Frame

同一网段内的两台主机通信是否需要路由器?

子网掩码为255.255.255.255是什么情况?

如何形象生动的解释ip地......

2017-01-23
280