music unfamous original game design efficient software wtf
life ui algorithm fix programming

从文件加密说起

作者:frinity  Python    2016-12-13  标签:  algorithm 

文件

    一步到位的说,文件就是二进制数据,不管他们细节如何组织,大体包含格式描述头部和数据区.

文件加密

    如果你一定程度上依赖电脑,终究要面临文件加密难题.文件加密很简单,传说中的藏宝图都知道,就是手撕鸡似的一撕几份,飘落在人间各处,只有找到每一部分,才能看到完整的地点.

    也可能没找全每个部分就找到藏宝地了--那是你不会撕.

    压缩,分成多个部分.同时设置一个包含各种类型字符的复杂密码,然后把 part1,part2...分散到各个盘符各个文件夹.甚至各个电脑,各个云盘.

    有人看到其中一个,尝试打开,提示输入密码,同时提示必须找到其他part,但仍然正确的显示出原始的文件名,这往往是重要信息.

    更可恶的是,自己每次修改一点内容,还必须集齐所有part,记得那个复杂的密码,修改一个报价,然后再压缩,分片,散落人间.

    这是几乎最完美,最 by hand的加密方案.要么就下载个专用加密工具,采用那些公开的AES/DES加密算法,最终还是要落实到一个复杂密码上.烦

<江湖>

    几年前,看过一步杜琪峰先生的电影<江湖>,里面有一句台词:出了名的杀手并不可怕,可怕的是那些街头的小混混.你不知道哪个会要了你的命,你不能防着所有人...

    每次想起这句话,都感叹古龙的哲思.比如古龙作品中经常见到这样的段落

    1,陆小凤到一个镇上住店,楼下的赌博声音把他吵醒了.于是气呼呼的来到楼下:乌烟瘴气,牌九,骰子,大呼小叫,于是劝一层楼的赌客回家--当然没人听他的.陆小凤想:好,既然你们不走,那我把你们的钱赢完总该走了吧?

    于是,找到貌似抗把子的桌上,和他拼骰子,让老板当裁判,一把赌全部身家,当然赢了.

    抗把子打,打不过.只能悻悻而去.

    陆小凤这一赌就不困了,于是拿着大把银票来到街上,没事撒几张.人生如此,夫复何求?

    就在这时,来了几个当差的.围住陆小凤,说:你这钱从何而来?

    "赌场赢来的."

    "哪家赌场?"

    "我带你们去"

    一行人回到客栈,大家都在吃饭,大闺女小伙子,老婆子小孩子.其乐融融.俨然一个运营了十来年的酒楼.陆小凤叫:老板出来.一看,老板早换人了.

    一度,陆小凤以为走错地方了.

    2,一个大侠被一个女庄主留宿,晚上就住她庄上,盛情难却.于是答应.

    好大的庄园,女仆往来奔走,络绎不绝.花园,流水,假山,小桥,河畔.

    房间众多,被管家招待安排卧室后,到庄主那里喝酒,商量一个大事.

    大事已定,酒过三巡.回到卧室休息.

    第二天醒来,打开床帷.外面是一条河.

    他的床就在河边,整个庄园,所有人在一夜之间消失.假山,小桥似乎被一个巨型的手拔走了.

    但这又不是梦,发生了什么?

意料中的意外

    人说:阴沟里翻船.为什么?

    这和那些最可怕的杀手绝不会很出名是一个道理.

    三十六计说:阴在阳之内,不在阳之对

    古龙就善于在寻常的情节中发生最可怕的意外.然而,不幸的是:生活本来就是如此.

回到文件加密

    那么对于文件加密,我想,有效的加密不应该是那些成熟的方案.这就好比HTTP永远存在被攻击的可能性一样.

    有效的加密方案一定是一个意外.没什么人用过,各种成熟的破解工具拿它没办法.

    就像一个少年夹在一群人中间羞涩的吃饭,他妈妈一直给他夹菜.主人挨个敬酒,不经意看见了他,给他倒酒,他用筷子杀死了主人.

    加密也应该这么简单.

    基于这个构想,实现一个简单的加密方案.杂七杂八加一起不到150行Python.

    Github 地址