2015
12-08
12-08
对抗拖库 —— Web 前端慢加密
0x00前言天下武功,唯快不破。但密码加密不同。算法越快,越容易破。0x01暴力破解密码破解,就是把加密后的密码还原成明文密码。似乎有不少方法,但最终都得走一条路:暴力穷举。也许你会说还可以查表,瞬间就出结果。虽然查表不用穷举,但表的制造过程仍然需要。查表只是将穷举提前了而已。密码加密,用的都是单向散列计算。既然单向,那就是不可逆,那只能穷举。穷举的原理很简单。只要知道密...
继续阅读 >
在现今数字年代,计算机bug不但困扰着每个程序员,更会无可避免影响我们的生活,小到每个人的衣食住行,大到国家经济,世界局势。随着我们的生活方式渐渐的数字化、互联网化,数字世界的找虫和杀虫就变得越来越重要。软件史上有哪些著名的bug呢?让我们一起来回顾一下:1、万“虫”之母,史上留名(软件史上第一虫)1947年9月9日下午3点45分,GraceMurrayHopper在她的记录本上记下了史上第一个计算机Bug——在HarvardMark...
作为某计算机考研论坛曾经的「网红」,更容易给人一种「大牛」的错觉,所以这些年常常能收到不少咨询各类问题的邮件。给人以人生建议或者教人以努力的方向,这是一件轻巧容易的事情,只是事情真正落到「好为人师」者或「仁波切」自己身上,大多所作所为大概会并没有什么两样。所以,学会「独立思考」是更重要的事情,否则,任何咨询都是在找一个「附和自己的人」而已。这个「公众号」的目标当然不是做一个「咨询平台」,或者我自...
这是Quora上的一个问题,其中Mick的回答获得了13.5k“赞同”,他如此回忆道:曾经有位心理学的博士雇我查一个BUG,程序是他的一个学生写的,经常会出现奇怪的输出。程序的功能是,从文件中读取数据,提出50个问题,进行一系列计算,然后基于这位博士的研究来得出一个分数。程序跑在大学的一台3B2上。他给我演示了程序,确认这个Bug可以重现——每次在问题之间切换的时候,总会闪出一些奇怪的字符。我觉得这应该很简单,所以答...
什么是Shell脚本?Shell脚本(英语:Shellscript)是一种电脑程序与文本文件,内容由一连串的shell命令组成,经由UnixShell直译其内容后运作。被当成是一种脚本语言来设计,其运作方式与直译语言相当,由Unixshell扮演命令行解释器的角色,在读取shellscript之后,依序运行其中的shell命令,之后输出结果。利用Shellscript可以进行系统管理,文件操作等。在Unix及所有的类Unix系统中,如Linux、FreeBSD等操作系统,都存在...
MySQL应用中,日期与查询是非常普遍的。比如要查某天、某个星期、或者某个月内的数据,查询两个日期之间的天数差,查询某天是星期几等等。下面就介绍一下相关的MySQL时间与日期函数,与它们的具体使用方法。NOW()函数MYSQL有没有像MSSQL的getdate()函数?有,就是NOW()。mysql>SELECTnow();+---------------------+|now()|+---------------------+|2011-10-2709:49:42|+---------------------+1ro...
在给一个App做API,从服务器端的MySQL取出数据,然后生成JSON。数据中有个字段叫content,里面保存了文章内容,含有大量HTML标签,这个字段在转json的时候需要转义,因为有大量的特殊字符会破坏json的结构。比如这么一段content:'Loremipsum"dolor"sitamet,consectetur\adipiscingelit.'则必须要转化为:Loremipsum\"dolor\"sitamet,\nconsectetur\\adipiscingelit.那么有哪些字符是需要转义的...
每一个行业的从业人员都会有变老的那一刻,难道变老了之后还要继续从事之前的工作吗?估计没人愿意,除非是体力上吃得消的。接下来所讲述的就是作为程序员的码农们该如何迎接慢慢变老之后的工作转变!人们都会期望随着岁数的增加,个人条件受到限制的时候,你会放弃现实里的一些工作,如编程。从而转向更加高大上的任务,比如管理一个团队或者融资。这在“真正的教授”决定细节的学术界确实如此,只保留“大方向的东西”。...
浏览器和服务器之间只有一种面向无连接的HTTP协议进行通讯的,面向无连接的程序的特点是客户端请求服务端,服务端根据请求返回相应的程序,不能保持持久连接。这样就出现了一个问题,一个客户端的相应服务端可能执行1秒也有可能执行1分钟,这样浏览器就会一直处于等待状态,如果程序执行缓慢,用户可能就没耐心关掉了浏览器。而有的时候我们不需要关心程序执行的结果,没有必要这样浪费时间和耐心等待,那我们就要想出办法让程序...