软件的奥秘 加密 密码 压缩 搜索是如何工作的

软件的奥秘 加密 密码 压缩 搜索是如何工作的 pdf epub mobi txt 电子书 下载 2025

[美] V. Anton Spraul 著,解福祥 译
图书标签:
  • 计算机科学
  • 密码学
  • 数据压缩
  • 信息检索
  • 软件工程
  • 算法
  • 数据结构
  • 计算机安全
  • 加密技术
  • 网络安全
想要找书就要到 静流书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 人民邮电出版社
ISBN:9787115461995
版次:1
商品编码:12185573
品牌:异步图书
包装:平装
开本:16开
出版时间:2017-09-01
用纸:胶版纸
页数:185
正文语种:中文

具体描述

编辑推荐

吴汉洪 毕业于中国人民大学,获经济学博士学位。现为中国人民大学经济学院经济学教授,博士生导师。任中华外国经济学说研究会理事。比利时鲁汶大学高-级访问学者。软件驱动着现代世界,但对许多人来说其内部的工作原理仍然是个谜。虽然软件在背后支撑着CGI图形、安全网络购物以及高速的Google搜索,并且我们每天都在使用软件,但并不是每个人都确切了解其工作原理。
如果你想知道在计算机屏幕后面究竟发生了什么的话,本书将会带你领略身边那些软件的神奇世界。例如,你将学到计算机生成的动画是如何与现实世界中的镜头组合起来并创造出逼真特效的;视频游戏是如何实时渲染图形的;哈希函数是如何混淆密码以使其免受攻击的;以及Google是如何对搜索结果进行排序的。
本书通俗易懂,具有详细的解释和任何人都能理解的直观图表。本书不含任何代码,故阅读本无需技术背景。
如果想要了解计算机是如何在每天执行我们习以为常却又很神奇的那些任务,你不必非得成为计算机科学家,通过阅读本书,你就可以领略软件背后的奥秘。
通过阅读本书,你还将了解:
? 加密的工作原理以及不同加密标准的安全程度;
? 如何压缩视频以满足在线流式播放;
? 数据是如何在庞大的数据库中被搜索出来(查找到)的;
? 应用程序是如何在没有冲突的情况下协同工作的;
? 软件是如何理解地图信息并为你导航的。

内容简介

软件已经成为人们日常生活与工作中常见的辅助工具,但是对于软件的工作原理,很多人却不是非常了解。
本书对软件的工作原理进行了解析,让读者对常用软件的工作原理有一个大致的了解。内容涉及数据如何加密、密码如何使用和保护、如何创建计算机图像、如何压缩和存储视频、如何搜索数据、程序如何解决同样的问题而不会引发冲突以及如何找出路径等方面。
本书适合从事软件开发工作的专业技术人员,以及对软件工作原理感兴趣的读者。

作者简介

V. Anton Spraul,已经为来自世界各地的学生讲授了15年以上的入门编程和计算机科学。同时他也是《Think Like a Programmer》(《像程序员一样思考》)和《Computer Science Made Simple》这两本书的作者。

目录

第1章 加密 1
1.1 加密目标 2
1.2 换位法:相同的数据,不同的
顺序 2
1.2.1 密钥 4
1.2.2 对加密的攻击 5
1.3 替换法:替换数据 6
1.3.1 变化替换模式 6
1.3.2 密钥扩展 9
1.4 高级加密标准 9
1.4.1 二进制基础 10
1.4.2 AES加密:概述 12
1.4.3 AES中的密钥扩展 13
1.4.4 AES加密处理流程 14
1.4.5 数据块链接 15
1.4.6 AES为什么是安全的 16
1.4.7 AES可能遭受的攻击 17
1.5 私钥加密的限制 18
第2章 密码 19
2.1 将密码转成数字 19
2.2 MD5散列函数 21
2.2.1 密码编码 21
2.2.2 按位运算 22
2.2.3 MD5散列流程 23
2.2.4 达到好的散列函数的
标准 24
2.3 数字签名 25
2.3.1 身份问题 25
2.3.2 碰撞攻击 25
2.4 身份认证系统中的密码 26
2.4.1 危险的密码表 26
2.4.2 对密码进行散列 27
2.4.3 字典式攻击 27
2.4.4 散列表 28
2.4.5 散列链 29
2.4.6 迭代式散列 32
2.4.7 为密码“加盐” 33
2.4.8 密码表安全吗 34
2.5 密码存储服务 34
2.6 小结 35
第3章 网络安全 37
3.1 公钥加密是如何解决密钥共享
问题的 37
3.2 公钥加密所需的数学运算 38
3.2.1 可逆函数(Invertible
Functions) 38
3.2.2 单向函数(One-Way
Functions) 39
3.2.3 暗门函数(Trapdoor
Functions) 40
3.3 RSA加密法 42
3.3.1 创建密钥 42
3.3.2 使用RSA加密数据 44
3.3.3 RSA的效率 45
3.3.4 在真实世界中使用RSA 46
3.3.5 身份认证中的RSA 49
3.4 网络安全:HTTPS 51
3.4.1 握手 51
3.4.2 在HTTPS下传输数据 53
3.5 共享密钥的问题解决了吗 54
第4章 电影CGI 57
4.1 传统动画软件 59
4.1.1 数字图像是如何工作的 59
4.1.2 颜色是如何定义的 61
4.1.3 软件是如何制作cel
动画的 61
4.1.4 从cel动画软件到
渲染式的2D图形 69
4.2 3D CGI软件 69
4.2.1 如何描述3D场景 70
4.2.2 虚拟摄像机 71
4.2.3 直接光照 72
4.2.4 全局光照 76
4.2.5 如何进行光线追踪 76
4.2.6 全屏抗锯齿 80
4.3 真实与模拟相结合 81
4.4 理想化的电影级品质渲染 82
第5章 游戏图形 83
5.1 实时图形的硬件 84
5.2 为什么游戏不使用射线追踪 85
5.3 只有直线,没有曲线 85
5.4 不使用射线追踪来进行投影 86
5.5 渲染三角形 87
5.5.1 画家算法 88
5.5.2 深度缓冲 89
5.6 实时光照 90
5.7 阴影 92
5.8 环境光照和环境遮挡 94
5.9 纹理映射 95
5.9.1 最邻近采样 97
5.9.2 双线性过滤 99
5.9.3 Mipmaps 100
5.9.4 三线性过滤 101
5.10 反射 102
5.11 伪造曲线 104
5.11.1 远距顶替物 104
5.11.2 凹凸映射 104
5.11.3 曲面细分 105
5.12 实时抗锯齿 107
5.12.1 超级采样 107
5.12.2 多重采样 109
5.12.3 后期处理抗锯齿 109
5.13 渲染预算 111
5.14 游戏图形展望 112
第6章 数据压缩 113
6.1 游程编码 114
6.2 字典压缩 116
6.2.1 基本方式 116
6.2.2 哈夫曼编码 118
6.3 重组数据以获得更好的压缩 119
6.3.1 预测编码 119
6.3.2 量化 120
6.4 JPEG图像 120
6.4.1 颜色的另一种存储方式 121
6.4.2 离散余弦变换 122
6.4.3 二维DCT 125
6.4.4 对DCT处理结果进行
压缩 128
6.4.5 JPEG图像质量 131
6.5 压缩高清视频 134
6.5.1 时间压缩 134
6.5.2 MPEG-2视频压缩 135
6.5.3 视频质量与时间压缩 138
6.6 视频压缩的现在和未来 139
第7章 搜索 141
7.1 定义搜索问题 141
7.2 将数据按序存放 142
7.2.1 选择排序 142
7.2.2 快速排序 143
7.3 二分搜索 146
7.4 索引 148
7.5 散列 150
7.6 网络搜索 153
7.6.1 为抓取到的网页结果进行
排名 153
7.6.2 高效地使用索引 155
7.7 网络搜索的前景 156
第8章 并发 157
8.1 为何需要并发 157
8.1.1 性能 158
8.1.2 多用户环境 158
8.1.3 多任务处理 158
8.2 并发是如何出错的 159
8.3 使并发安全 162
8.3.1 只读数据 162
8.3.2 基于事务的处理过程 162
8.3.3 信号量 163
8.4 无限等待的问题 165
8.4.1 有序队列 166
8.4.2 循环等待造成的饥饿 166
8.5 信号量的性能问题 168
8.6 并发的未来 169
第9章 地图路径 171
9.1 软件中对地图的定义 171
9.1.1 最佳优先搜索 174
9.1.2 重用之前的搜索结果 177
9.2 一次找出所有最佳路径 179
9.2.1 弗洛伊德算法 179
9.2.2 存储路径方向 182
9.3 路径查找的未来 185
《探秘代码:理解软件运行的底层逻辑》 在这数字化的浪潮席卷而来的时代,我们每天都在与海量的软件打交道。从智能手机上的应用程序,到复杂的操作系统,再到支撑互联网运转的庞大服务器集群,软件已经渗透到我们生活的方方面面,塑造着我们的沟通、工作、娱乐乃至思考方式。然而,有多少人曾停下脚步,真正去探究这些无形的“大脑”是如何思考、如何运作的呢?它们隐藏在屏幕背后的奥秘,究竟是什么支撑起了这个数字世界的运转? 《探秘代码:理解软件运行的底层逻辑》正是一本旨在揭开这些层层面纱的读物。它并非一本枯燥的技术手册,也不是堆砌着晦涩算法的学术专著。相反,这本书以一种抽丝剥茧、循序渐进的方式,带领读者深入软件世界的“心脏地带”,理解那些看似神秘的操作是如何在底层实现的。我们将从软件的本质出发,探寻构成它的基本元素,以及这些元素如何协同工作,最终演变成我们所使用的每一个功能。 一、软件的“ DNA ”:数据与指令的交响曲 任何软件,无论其多么复杂,其核心都离不开两个最基本的组成部分:数据和指令。这本书将首先深入剖析“数据”的概念。我们会了解数据是如何被表示、存储和处理的,从最基础的二进制数字,到更复杂的字符串、数值、图像、音频和视频。我们将探讨不同类型的数据在计算机内存中的“语言”,以及为什么理解这些数据表示方式对于理解软件至关重要。例如,一张图片在计算机看来并非我们视觉所见的色彩斑斓,而是由一系列数字组成的矩阵,而音频文件则是对声音波形振幅的采样记录。了解了这些,我们就能理解为什么文件大小各异,以及为什么不同格式的文件需要不同的程序来打开。 紧接着,我们将聚焦于“指令”。指令是软件的“灵魂”,它们告诉计算机“做什么”。我们会学习指令是如何被设计、组织和执行的。从简单的算术运算(加、减、乘、除),到逻辑判断(大于、小于、等于),再到控制流程(循环、分支),这些都是构成复杂指令集的基石。我们将理解,我们所看到的各种用户界面操作,例如点击一个按钮,输入一段文字,最终都会被转化为一系列微小的、有序的机器指令,由中央处理器(CPU)逐条执行。我们会探讨指令是如何被翻译成计算机能够直接理解的机器码,以及高级编程语言(如Python、Java、C++)是如何将复杂的指令抽象化,让开发者能够更高效地编写软件。 二、编织世界的“线”:算法的艺术与力量 一旦理解了数据和指令,我们就将进入软件的核心——算法。算法是解决问题的一系列清晰、明确的步骤。它如同一个精心设计的蓝图,指导着计算机如何处理数据以达到预期的结果。这本书将重点介绍一些具有代表性的算法,并用生动形象的比喻和易于理解的示例来说明它们的工作原理。 我们会从最基础的搜索算法开始。想象一下,你要在一本厚厚的字典里查找一个单词,你会怎么做?你会从头到尾翻阅吗?很可能不会。你会利用字典的有序性,快速定位到单词所在的字母区域,这便是二分查找的雏形。我们将深入探讨线性查找、二分查找等经典搜索算法,分析它们的效率,以及在不同场景下选择哪种算法更为合适。当我们处理海量数据时,高效的搜索算法将是必不可少的。 除了搜索,排序算法也是软件中无处不在的。无论是整理你的文件列表,还是对电商平台上的商品进行价格排序,背后都离不开排序算法。我们会介绍冒泡排序、选择排序、插入排序等基础排序算法,理解它们如何通过一系列比较和交换来将无序的数据变得有序。更进一步,我们会触及更高效的排序算法,如快速排序和归并排序,理解它们背后的“分而治之”的思想,以及它们如何显著提升处理大规模数据的能力。 三、保护秘密与隐私的盾牌:加密技术 在信息爆炸的时代,数据安全和隐私保护已成为重中之重。加密技术便是保护我们数字信息的强大盾牌。本书将揭示加密的神秘面纱,让我们了解它如何将明文信息转化为一段难以理解的密文,只有拥有特定“钥匙”的人才能将其还原。 我们会区分对称加密和非对称加密。对称加密如同用一把锁和一把钥匙,同一个密钥既用于加密也用于解密,其速度快,适用于加密大量数据。而非对称加密则使用一对密钥,一个公钥用于加密,一个私钥用于解密,它解决了密钥分发的难题,是数字签名和安全通信的基石。我们将探讨一些常见的加密算法,例如AES(高级加密标准)和RSA(Rivest–Shamir–Adleman),理解它们的基本原理,以及它们在互联网安全、数据传输中的广泛应用。了解加密技术,不仅能让我们更好地理解网络安全,也能让我们更谨慎地保护自己的数字足迹。 四、压缩数据的智慧:节省空间与加速传输 随着数据量的急剧增长,如何高效地存储和传输数据成为一个挑战。压缩技术应运而生,它通过识别和消除数据中的冗余信息,将数据“瘦身”,从而节省存储空间并加速传输速度。 本书将介绍两种主要的压缩方法:无损压缩和有损压缩。无损压缩在解压缩后能够完全恢复原始数据,适用于文本文件、程序代码等对数据完整性要求极高的场景。我们会深入了解霍夫曼编码等经典无损压缩算法,理解它们如何通过统计字符出现的频率来分配更短的编码。而有损压缩则允许在解压缩时丢失部分信息,以换取更高的压缩率,常用于图像(如JPEG)、音频(如MP3)和视频(如MP4)的压缩。我们将探讨JPEG压缩中离散余弦变换(DCT)和量化等概念,理解它们如何通过去除人眼不敏感的信息来达到压缩目的。 五、智能的“寻宝”:搜索的深层机制 除了前面提到的简单搜索算法,这本书还将触及更复杂的搜索技术,尤其是在大规模、非结构化数据场景下的搜索。想象一下,我们如何在搜索引擎中快速找到我们想要的信息?如何在一个庞大的文件系统中定位某个文件? 我们将探讨文本索引的原理,了解搜索引擎是如何在海量网页中建立索引,从而实现闪电般的搜索速度。我们会介绍倒排索引、全文检索等概念,理解它们如何将文档内容映射到关键词,以及关键词如何指向具体的文档。同时,我们也会触及模糊搜索和近似搜索,理解计算机是如何在不完全匹配的情况下也能找到“接近”的结果,以及在语音识别、图像识别等领域,这些技术所扮演的重要角色。 《探秘代码:理解软件运行的底层逻辑》旨在为你打开一扇通往软件世界大门。它将帮助你从一个普通用户,转变为一个对软件有更深层次理解的“探索者”。通过学习本书,你将不再仅仅满足于“使用”软件,而是能够“理解”软件。这种理解,将让你在面对新的技术时,不再感到无从下手;在遇到软件问题时,能够有更清晰的思路去分析;甚至,点燃你对软件开发产生兴趣的火花。这不仅仅是一次知识的探索,更是一次对数字时代运行机制的深刻认知。

用户评价

评分

“压缩”和“搜索”这两个词,则让我联想到了日常生活中那些“化繁为简”的场景。我们是如何将庞大的文件变得小巧,方便传输和存储的?又是如何在海量的信息中快速找到我们所需的那一部分?这本书的出现,仿佛为我打开了一扇通往这些“幕后魔法”的大门。我迫切想知道,那些常见的压缩算法,比如 ZIP、RAR,它们是如何工作的?是否真的如同传说中的那样,通过识别重复的模式来节省空间?又或者,在某些情况下,它们是以牺牲一部分数据质量为代价来换取压缩率的?对于搜索,我更加好奇。搜索引擎是如何在眨眼之间,从互联网的浩瀚海洋中捞出我们想要的信息的?是采用了什么样的数据结构来索引海量数据,又依靠怎样的算法来匹配关键词,并对结果进行排序?这本书是否会触及倒排索引、B-树等概念?我希望能从这本书中获得一些关于这些技术的清晰解释,甚至能有一些简单的示例,让我能够更好地理解这些在软件中无处不在却又常常被我们忽略的功能。

评分

这本书的书名就充满了神秘感,让人不禁好奇“软件的奥秘”究竟隐藏着怎样的精彩。我特别对“加密”和“密码”这两个词汇产生了浓厚的兴趣。在信息爆炸的时代,数据安全的重要性不言而喻,而加密和密码正是保障信息安全最关键的技术。我一直对那些能够将原本杂乱无章的数据转化成只有特定密钥才能解读的密文的过程感到惊叹。这本书能否揭示其中的原理?例如,它是否会深入浅出地讲解 RSA、AES 这些耳熟能详的加密算法?它们背后精妙的数学原理是如何被应用到软件中的?我渴望了解,当我们输入密码时,软件是如何将其与存储的哈希值进行比对,又为何即使黑客截获了密文,也无法轻易解开?这本书是否会提供一些实例,让我们能够更直观地理解这些概念?或许,它还会探讨一些密码学的历史发展,以及不同时期加密技术的演进,这将为我们提供更宏观的视角。总之,我对书中关于加密和密码的部分充满了期待,希望能借此机会,深入理解这一充满智慧的领域。

评分

“软件的奥秘:加密 密码 压缩 搜索是如何工作的”——光是这个书名,就足以勾起我对技术探索的强烈好奇心。作为一个经常与电脑打交道的普通读者,我对这些看似“幕后”的技术总是充满了敬畏和好奇。尤其是“加密”和“密码”部分,我常常在思考,我们输入的密码是如何被软件安全地存储和验证的?那些我们看到的“星号”背后,究竟发生了什么?这本书能否以一种通俗易懂的语言,解释这些安全机制的原理?比如,它是否会介绍一些常见的加密算法,并简要说明它们的工作方式,让我们明白为什么即使数据被泄露,也并非完全暴露?同样,“压缩”也是一个非常实用的概念,我一直对它如何能够将巨大的文件变得小巧感到神奇。这本书是否会揭示其中的秘密,例如,它是否会介绍一些数据压缩的基本思想,以及一些常见的压缩格式的特点?我非常期待这本书能够让我对这些技术有一个更清晰、更深入的认识,不再仅仅停留在“知道它能用”的层面。

评分

这本书的书名,尤其是“软件的奥秘”这几个字,给我一种探索未知领域的兴奋感。我一直觉得,我们每天都在使用各种各样的软件,但对其内在的运作机制却知之甚少。这本书就像是一个向导,承诺将带领我们揭开这些“奥秘”。我特别关注“加密”、“密码”、“压缩”和“搜索”这几个关键词,它们代表了软件技术中非常核心且实用的部分。我希望这本书能够以一种易于理解的方式,介绍这些技术的原理和应用。例如,关于加密,我希望能了解一些基础的加密和解密流程,以及一些常见的加密算法的简单介绍,而不是过于深奥的数学公式。对于压缩,我很好奇它究竟是如何在不显著损失信息的前提下,减小文件大小的,这对我处理大量数据时非常有帮助。而搜索,更是我每天都在使用的功能,我想知道它背后是如何做到如此快速和精准的。这本书是否会包含一些图示或者流程图,来帮助我们更直观地理解这些复杂的概念?我非常期待这本书能够填补我在这些方面的知识空白。

评分

这本书的书名本身就充满了吸引力,它直击了软件背后的一些核心“奥秘”。我尤其被“加密”、“密码”、“压缩”和“搜索”这些关键词所吸引,因为它们都是我们在日常使用软件时经常接触到,但对其工作原理却了解甚少的功能。我一直对数据安全充满兴趣,因此,“加密”和“密码”这两部分内容对我来说尤其具有吸引力。我希望这本书能够以一种深入浅出的方式,解释这些安全技术的原理,比如,我们输入的密码是如何被存储和验证的?又有哪些技术可以防止信息被非法窃取?同样,“压缩”也是一个非常实用的技术,它能够帮助我们节省存储空间和传输时间。我非常好奇,软件是如何实现文件压缩的?是否是通过识别和消除数据中的冗余信息来实现的?而“搜索”功能,更是我们获取信息的重要途径。我希望这本书能够揭示搜索引擎是如何在海量数据中快速定位我们所需信息的?它是否会介绍一些高效的索引和检索算法?我期待这本书能让我对这些软件的内在机制有一个全新的认识,从而更好地理解和运用这些技术。

评分

很好。。。。。。。。。。。。。。。

评分

书写的很好

评分

书写的很好

评分

还可以,书本还可以。慢慢看吧

评分

涉及数据如何加密、密码如何使用和保护、如何创建计算机图像、如何压缩和存储视频、如何搜索数据、程序如何解决同样的问题而不会引发冲突以及如何找出zui佳路径等方面

评分

凑单的,买来看着玩儿,其实密码学还挺有意思的。京东活动买的还蛮合适呢。

评分

还可以,书本还可以。慢慢看吧

评分

暑假看

评分

很好。。。。。。。。。。。。。。。

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.coffeedeals.club All Rights Reserved. 静流书站 版权所有