破解密码那些事儿(Hacking Secret Ciphers with Python)
作者:Al Sweigart
我们在电视和电影里头经常能够看到黑客们兴奋的快速敲击键盘,接着毫无意义的数字就在屏幕上飞奔(比如黑客帝国)。然后让大家产生了一种奇妙的错觉,做黑客是一件高大上的事情,而且需要超人的智慧。
其实这没有什么神奇的!这些都是基于计算机上的把戏,而且每一台计算机后面都有固定的逻辑和规则,学习和理解他们并非完天方夜谭。即便你不能理解为什么有时候计算机会变得如此的让人抓狂也或者不可思议,但你知道这总是总是总是有原因的。
而且吧,想学习了解计算机背后的逻辑根本不是什么困难的事情。很重要的是这本书(我翻译的这个东西)就是假设你根本不懂密码学(我略懂),也根本不懂编程(我略懂),然后一步一步,再一步一步的学习写程序,然后破解那些神秘的密码。跟着我快乐的玩耍吧。
本书所得的所有收益全部捐献给Electronic Frontier Foundation, the Creative Commons, 和the Tor Project。(至于是哪三个组织,先hold着以后告诉你)
向Aaron Swartz(1986–2013)致敬
作为我们的一员,Aaron坚信我们的民主是建立在公民知情的基础下,公民知情意味着我们知道我们的权利和义务。我们坚持我们必须将正义和知识传递给普罗大众,让他们并不局限于那些含着金钥匙出生的土豪以及掌握公权力的政府大员,只有这样我们才能更体面的活着。
看着一起努力的伙伴,我似乎又看到了Aaron的身影,但是我们失去了一位天使般纯洁的朋友,我的心满是伤痕。
---------C.M.
Aaron was part of an army of citizens that believes democracy only works when the citizenry are informed, when we know about our rights—and our obligations. An army that believes we must make justice and knowledge available to all—not just the well born or those that have grabbed the reins of power—so that we may govern ourselves more wisely.
When I see our army, I see Aaron Swartz and my heart is broken.We have truly lost one of our better angels.
---------C.M.
关于本书:
其实现在已经有很多关于教会初学者如何通过秘钥加密消息的书籍,同时有更多的书籍关于如何破解这些已经加密了的消息。至今为止,我还没看到有哪本书籍教初学者写程序去破解这些加了密的密文的,这本书填补相关领域的空白(wow)。
这本书的读者是那些真的对加解密一点都不了解的菜鸟,更不要说破解或者其他什么了知识背景了。这本书里头采用的加密算法(除了最后的RSA的那个章节)基本上都是一些很经典的老算法,而现在的计算机有足够的计算能力能去破解这些密文(以后加了密的消息统称密文,什么?你问我什么是消息,消息就是你要加密的对象。什么?你问我什么是对象,你也够宅了!)基本上现在的机构和自用的程序都不会再使用那些算法了,所以你不用担心本书的内容会给你带来任何法律方面的麻烦。(这么旧的东西学来干嘛,好吧,你到底要不要看下去)
这本书假定你是一个完全没有写过代码的人(譬如文科生,好吧,不能一棒子打死,大部分文科生),本书会教你使用神作Python(因为是Python的缘故,我才最后下决心翻译本书,停!神马你说大蛇有什么好的,你这就是真没见过大蛇拉屎了!)Python是最适合初学者学习编程的编程语言:因为它简单,读起来很容易懂(当然很多大牛的代码也不是这么好懂的),具有超强的能力(当然说的是驾驭计算机的能力,不是超能力),而且很多大牛也用他去做大事情,这种老少咸宜的东西甚是好玩。Python是可以免费下载回来的,(http://python.org)并且可用在Linux,Windows,Mac OSX以及Raspberry Pi上使用。
对于黑客,其实有两种定义。第一种黑客是对某个系统非常的了解(包括某些加密系统或者某种软件),他们了解得如此得深入,所以他们可以绕过原系统的限制,去做他们想做的事情,当然是用他们的方法。另一种含义就是那种入侵别人系统,破坏人家隐私,制造破坏的人,当然这是违法的。本书的黑客显然是第一种定义了。黑客很酷,他们通过制造这些违法的事情去证明自己足够的聪明。就个人而已,我的日常工作只是个程序猿,多多少少干些活吧,省得我太闲了去写些病毒或做些网络蠕虫什么的。
我很认真的说,不要用本书提到的任何加密程序来加密你的日常文件。因为我们是学着玩的,那些算法的安全性实在不值一提。在实际生活中,你不要太相信你写的加密程序了。传说中的密码学家Bruce Schneier说:任何人,从最业余的工程师到最精明的密码学家都可以搞出一个自己无法破解的算法。但是只有时间和更精明的密码分析学家(很高深是吧,我也从事过这种高大上的活,其实就是破解密码,美其名曰密码分析)能告诉你,到底这个算法有多好。
本书的发行是基于Creative Commons license(这我也不懂,版权的一种),可以免费拷贝和分发,可以在网站下载(http://inventwithpython.com/hacking),有任何关于程序方面的疑问,请发邮件al@inventwithpython.com咨询。
破解密码那些事儿(Hacking Secret Ciphers with Python)的更多相关文章
- Hacking Secret Ciphers with Python翻译序言
马上就要下班,一直想做点什么,学点什么,但是似乎从未着手. 是的,我想学习Hacking,或许很多人都想学,但是诸多的大牛说,这个得有基础,万丈高楼平地起,我做过那么一点点的密码分析,加上某些地方有小 ...
- 为什么现在更多需要用的是 GPU 而不是 CPU,比如挖矿甚至破解密码?
作者:Cascade链接:https://www.zhihu.com/question/21231074/answer/20701124来源:知乎著作权归作者所有,转载请联系作者获得授权. 想要理解G ...
- python 暴力破解密码脚本
python 暴力破解密码脚本 以下,仅为个人测试代码,环境也是测试环境,暴力破解原理都是一样的, 假设要暴力破解登陆网站www.a.com 用户 testUser的密码, 首先,该网站登陆的验证要支 ...
- Linux_破解密码-营救模式
实验用机:CentOS 5.7 破解密码 设置开机启动界面 系统运行级别 营救模式 一.破解密码 root用户可以更改任何用户的密码,普通用户只能修改自己的密码. 步骤: 1.重新启动系统 2.开机倒 ...
- day43 mysql 基本管理,[破解密码以及用户权限设置]以及慢日志查询配置
配置文件:详细步骤, 1,找到mysql的安装包,然后打开后会看到一个my.ini命名的程序,把它拖拽到notepad++里面来打开,(应该是其他文本形式也可以打开,可以试一下),直接拖拽即可打开该文 ...
- CentOS Linux release 7.3破解密码详解
CentOS Linux release 7.3破解密码详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 公司最近接了一个项目,拿到客户现有的源代码,但是服务器用户密码并不知情, ...
- Excel工作表保护的密码破解与清除...假装自己破解密码系列?
有一次我女朋友让我帮忙解一个excel表格的保护密码,然后~用了宏 网上下载来的Excel经常会有工作表保护,也就是无法修改,妄图做任何修改的时候你就会看见这句话: 您试图更改的单元格或图表位于受保护 ...
- Centos7.x破解密码
Centos7.x破解密码 centos7 破解密码 重置Centos 7 Root密码的方式和Centos 6完全不同.让我来展示一下到底如何操作. 1 .在启动grub菜单,选择编辑选项启动 14 ...
- Ubuntu 破解密码及用户管理
Ubuntu 破解密码及用户管理 ubuntu 16.04 破解密码 useradd 实现以下要求 1.ubuntu16.04破解密码 2.创建下面的用户.组和组成员关系 名字为xipudata 的组 ...
随机推荐
- [CSS]font- 属性
所有浏览器都支持 font 属性. 注释:任何的版本的 Internet Explorer (包括 IE8)都不支持属性值 "inherit". 定义和用法 font 简写属性在一 ...
- pycharm3.x 注册码
PyCharm 3.0 注册码 PyCharm3 序列号 License Key 用户名:yueting3527 注册码: ===== LICENSE BEGIN ===== 93347-120420 ...
- Sybase ASE无响应的又一个情况
昨天下午,客户那边的系统管理员给我电话,说有套系统的SYBASE数据库最近有点怪,总是时不时莫名其妙地就忽然卡死,有可能一下子就自动恢复了,也有可能后面一直卡住,只好重启.根据客户反映的状况,初步判断 ...
- C# - 中断模式下的调试
1. 设置断点 选中需要设置断点的行,右键选择断点插入断点,此行左侧显示红色圆形标志.或者F9 有几个条件断点类型: a. 条件断点 b. 命中次数,大于,几倍于,大于等于你设置的断点次数此时中断 c ...
- python 操作mongodb数据库模糊查询
# -*- coding: utf-8 -*-import pymongoimport refrom pymongo import MongoClient #创建连接#10.20.66.106clie ...
- Hbase region 某个regionserver挂掉后的处理
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAwoAAACdCAMAAAAjbX91AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK
- 看看baidu是如何AJAX跨域的[转]
看看baidu是如何AJAX跨域的 最近做个人网站遇到AJAX跨子域名的问题. 偶尔看到baidu的通行证处理都是在二级域名passport.baidu.com中处理的, 但是baidu很多地方登录都 ...
- var a=[]; 和 var a=new Array(); 的区别,为什么前者效率高
因为 JSON格式的语法是引擎直接解释的.而new Array 则需要调用Array的构造器.还有就是1.当你需要将一个数字转化为字符串时可以这样定义:var s=""+1; 这样 ...
- 利用ZABBIX的RPC-JSON作API扩展应用示例
计划将ZABBIX的一些状态可以在另一个应用的显示GRAPH及链接. 故而在网上找了几个文档,作了一个测试. https://www.zabbix.com/documentation/2.4/manu ...
- ASP.NET在主题中添加CSS文件
ASP.NET在主题中添加CSS文件 在ASP.NET中,可以使用CSS来控制页面上HTML元素和ASP.NET控件的皮肤.如果在主题文件夹中添加了CSS文件,则在页面应用主题时也会自动应用CSS. ...