RSA 加密周边
主要参考: 饮水思源, 阮一峰, 以及自由意志的公开课.
RSA加密算法使得加密简单, 但解密困难. 就像向存钱罐中存钱容易, 取钱困难. 其中之所以困难在于加密解密双方不对称, 如对称的有DES(被人怀疑有后门). 加密所用公钥是$(n, e)$, 解密所用密钥是$(n, d)$, 其中$ed ≡ 1 (mod\ \psi(n))$. $\psi(n)$是Eule...
《冰雪奇缘》之缘——A站弹幕 JSON 转 crt
都是《冰雪奇缘》惹的祸,不仅画面美仑美奂,音乐激荡人心,而且还玩多语言版本的主题曲。
而 you-get 竟助纣为虐,把歌词给下回来了!只叹 soimort 没有好人做到底,留一个语义不详的 JSON 让我情何以堪。
好在 muzuiget 才识不凡,有码略释其义,遂如我光影、声音、文字三位一体之愿!
编成代码数十行,只为女王歌一曲:
#!/usr/bin...
FUSE 初体验:Android dedupefs
自打知道 FUSE 以来都觉得亲手写一个 FUSE 文件系统是很好玩的事情,但是因为没好的自己能够很快实现的点子所以一直没动手。前段时间需要从 Android xrecovery 备份中取得一旧版本的应用,才决定动手的,顺便也练习一下很久没怎么用到的 C 语言。至于为什么不用 Python,好像那个 Python 绑定不太稳定的样子,Python 3 版更是如此。而且我也不希望效率太差...
c/c++ 宏
c语言中宏还是挺重要的东西,c++中由于有了内联函数和模板,而宏编译器不作任何宏参数类型检查,又极易容易出错,宏慢慢会被取代。
我们可能用的最多的就是利用宏定义常量,但我们经常被建议不要这样做,而应该使用const定义常量,因为const常量有类型,编译器会做更多的检查而减少错误。
我们也经常定义类似函数的宏,最常见的如
#define MIN(a, b) ((a...
虚函数和抽象类
1
1
1
1.静态成员函数不能声明为虚函数,因为静态函数不属于某一个对象,没有多态性的特征。
2.构造函数不能是虚函数,虚函数作为运行时的多态性的基础,主要是针对对象的,而构造函数是在对象产生之前运行的。
3.内敛成员函数不能声明为虚函数,如果将在类声明时就定义内容的成员函数声明为虚函数,此时不是内敛函数。
4.析构函数往往被定义为虚函...
内存分配方法及字符(串)操作小结
一. 内存分配方法
内存分配方法在不同的语言下有不同的方法,但是原理都大同小异。下面主要就 C 和 C++ 中的内存分配方法做分析。
C 中的内存分配方法主要有 malloc/free 和 memset 这两种。malloc/free 也是动态申请内存和释放内存,具体使用很简单:
int **a;
a = (int **) malloc(m * sizeof...
LRU Cache @ LeetCode (Python)
Python的dictionary查找元素O(1)时间, 但缺点是无序。而collections.OrderedDict是有序的, 后加入的元素一定排在先加入元素的后面, 操作和dictionary类似:
import collections
a = collections.OrderedDict()
a[1] = 10 # 若1在a中就更新其值, 若1不在a中就加入(1, ...
meliae内存分析-基本用法
python的内存分析工具meliae,挺好用的.
示例
1.记录程序的内存使用信息
import time
# 此处是可能发生内存泄露的地方
def main():
pass
if __name__ == '__main__':
# 通过循环执行,将泄露的内存积累放大
while True:
...
Word Ladder @ LeetCode (Python)
使用BFS, 单词和length一块记录, dict中每个单词只能用一次, 所以用过即删。dict给的是set类型, 检查一个单词在不在其中(word in dict)为O(1)时间。设单词长度为L, dict里有N个单词, 每次扫一遍dict判断每个单词是否与当前单词只差一个字母的时间复杂度是O(N*L), 而每次变换当前单词的一个字母, 看变换出的词是否在dict中的时间复杂度是O...
const总结
1
1.常量
声明格式:const <数据类型> <常量名> = <表达式>;常量定义时必须初始化。
2.常指针
声明格式:<数据类型> *const <指针名> = <地址>;指针本身的值不能改变。
3.指向常量的指针
声明格式:const <数据类型>...
让我们收养孤儿进程吧
稍微了解一点类 UNIX 系统的进程管理的都知道,当一个进程的父进程死亡之后,它就变成了孤儿进程,会由进程号 1 的 init 进程收养,并且在它死亡时由 init 来收尸。但是,自从使用 systemd 来管理用户级服务进程之后,我发现 systemd --user 管理的进程总是在它之下,即使进程已经 fork 了好几次。systemd 是怎么做到的呢?
对一个软件的实现有...
python 执行过程
参考资料
Dive into python
在Dive into python第五章中有一个提取MP3信息的脚本,不是很理解现在整理一下思路
"""Framework for getting filetype-specific metadata.
Instantiate appropriate class with file...
POJ 2949 Word Rings
题意:给你一些单词,如果一个单词的后两个字母和另外一个单词的前两个字母一样,那么这两个单词就可以连在一起,然后让你求单词成环之后,最大的平均权值。
解法:求平均权值最大的环路? 记得一本书上说过,假如所有的边都在环中,其实就是:E1+E2+E3+E4+....+En = mid*n;转换一下即为:E1-mid+E2-mid+...En-mid = 0;这是权值相等的时候。 要使...