0%

Python2和Python3的编码问题

1.编解码

1.1Unicode编码

Unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。

阅读全文 »

密码学课程设计之Hash函数

Hash,一般翻译做散列、杂凑,或音译为哈希,是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。

阅读全文 »

密码学课程设计之公钥密码

公钥密码 又称为非对称密码,拥有公钥密码的用户分别拥有加密密钥和解密密钥。通过加密密钥不能得到解密密钥。并且加密密钥是公开的。

1

RSA

该算法的数学基础是初等数论中的欧拉定理。

阅读全文 »

密码学课程设计之分组密码

分组密码(block cipher)的数学模型是将明文消息编码表示后的数字(简称明文数字)序列,划分成长度为n的组(可看成长度为n的矢量),每组分别在密钥的控制下变换成等长的输出数字(简称密文数字)序列。

阅读全文 »

密码学课程设计之序列密码

密钥序列

序列密码强度完全依赖于密钥序列的随机性和不可预测性。

密钥序列有需要具备以下功能:周期极大,均匀的n元分布,均匀的游程分布,良好的混乱性和扩散性。
由线性反馈移位寄存器所产生的序列中,像m序列具有良好的伪随机性,但它的密码强度很低,不过它的实现简单、速度快、由较为成熟的理论依据这些优点,现在在通信等工程技术中还是有广泛的应用。

阅读全文 »

密码学课程设计之古典密码

弱鸡的代码,看看就好。

仿射密码

仿射密码为单表加密的一种,字母系统中所有字母都藉一简单数学方程加密,对应至数值,或转回字母。

输入内容

输入的内容可能包含大写,小写和特殊字符,此时可以分别进行加解密,通过调用python的isupper(),islower()函数来判断。

阅读全文 »

hexo博客教程(持续更新)

1.创建文件

打开目录

1
hexo\source\_posts

输入命令

1
2
hexo new [title]
[title]为创建文件的文件名

2.上传文件

输入命令

1
2
3
hexo g //生成静态文件
hexo s //启动服务器
hexo d //将本地文件发布到github等git仓库上
阅读全文 »

Typora学习笔记

Markdown 是一种轻量级标记语言,创始人是约翰·格鲁伯(John Gruber)。它允许人们 “使用易读易写的纯文本格式编写文档,然后转换成有效的 HTML 文档。”

阅读全文 »