新書推薦:
![财之道丛书·如何让人投资你:股权激励融资全揭秘](http://103.6.6.66/upload/mall/productImages/24/31/9787213115257.jpg)
《
财之道丛书·如何让人投资你:股权激励融资全揭秘
》
售價:HK$
101.2
![PyTorch深度学习与计算机视觉实践](http://103.6.6.66/upload/mall/productImages/24/30/9787302665144.jpg)
《
PyTorch深度学习与计算机视觉实践
》
售價:HK$
90.9
![新任经理 100 天实战指南](http://103.6.6.66/upload/mall/productImages/24/29/9787566923387.jpg)
《
新任经理 100 天实战指南
》
售價:HK$
89.7
![日本百鬼画谱](http://103.6.6.66/upload/mall/productImages/24/31/9787201199009.jpg)
《
日本百鬼画谱
》
售價:HK$
71.3
![大明拐点 : 天启党争](http://103.6.6.66/upload/mall/productImages/24/30/9787507559408.jpg)
《
大明拐点 : 天启党争
》
售價:HK$
66.7
![纲鉴易知录评注(布面精装 全8册)](http://103.6.6.66/upload/mall/productImages/24/31/9787101166378.jpg)
《
纲鉴易知录评注(布面精装 全8册)
》
售價:HK$
572.7
![官商跃迁:中国古代政商关系简史](http://103.6.6.69/upload/mall/productImages/y24/8/9787523410707.jpg)
《
官商跃迁:中国古代政商关系简史
》
售價:HK$
101.2
![当代学术·乡族与国家:多元视野中的闽台传统社会(修订本)](http://103.6.6.66/upload/mall/productImages/24/31/9787108077721.jpg)
《
当代学术·乡族与国家:多元视野中的闽台传统社会(修订本)
》
售價:HK$
101.2
|
編輯推薦: |
围绕Python基础、计算生态和网络空间安全三方面展开,实现学习的入门-进阶-探究;
通过在线视频、实训闯关和习题测试等多措并举提升读者的知识、能力和素质;
配套微课视频、作业系统、教学大纲、程序源码、教学课件等丰富的教学资源
|
內容簡介: |
本书共9章。第1~5章介绍Python语言编程的基础内容,包括基本数据类型、复合数据类型、流程控制、函数和模块等内容,使读者初步了解Python语言,这部分适合零基础的读者; 第6~8章介绍文件操作和异常处理、面向对象程序设计、多进程和多线程等内容,使读者进阶到Python程序设计中的异常处理、面向对象编程模式以及Python程序的高效性,这部分适合具备一定基础的读者; 在第2~8章的各章中均单独设置一节介绍Python安全专题,并在第9章针对网络安全领域中的具体场景,以项目操作实战的方式介绍Python在密码学、计算机取证、异常检测以及渗透测试等方面的应用,使读者具备安全编程防御的能力,这部分适合关注Python安全应用的读者。 本书适合高等学校网络空间安全专业、信息安全专业和密码学专业的学生使用,也适合对Python语言编程感兴趣的读者使用,还可作为从事计算机安全管理、渗透测试和计算机取证的工程技术人员的参考用书。
|
目錄:
|
第1章概述
1.1Python语言简介
1.1.1Python语言的发展历史
1.1.2Python语言的特点
1.1.3Python语言的应用领域
1.2Python开发环境的安装和使用
1.2.1IDLE
1.2.2PyCharm
1.2.3Anaconda
1.2.4Jupyter Notebook
1.3支持库的管理
1.4如何学好编程
习题
第2章基本数据类型
2.1变量
2.1.1变量的定义
2.1.2变量的命名规则
2.1.3查看关键字和内置函数
2.1.4常量
2.2数字类型
2.2.1整数、浮点数和复数
2.2.2进制之间的转换
2.2.3内置模块
2.3字符串
2.3.1字符串的表示
2.3.2字符串的常用操作
2.4基本的输入和输出
2.4.1输入函数
2.4.2输出函数
2.5代码规范
2.6字符编码
2.7综合实例: 芳名和芳龄
2.8turtle库
2.9安全专题
2.9.1消息摘要模块hashlib
2.9.2消息认证模块hmac
习题
第3章复合数据类型
3.1序列数据
3.1.1序列简介
3.1.2创建列表和元组
3.2列表和元组通用的方法
3.2.1通过索引访问元素
3.2.2slice切片
3.2.3查找与计数
3.2.4最大值、最小值和长度
3.2.5加法、乘法和成员运算
3.2.6序列封包和序列解包
3.3列表
3.3.1创建列表
3.3.2增加元素
3.3.3删除元素
3.3.4逆序和排序
3.3.5弹出元素
3.3.6浅拷贝和深拷贝
3.4元组
3.4.1创建元组
3.4.2列表和元组之间的转换
3.5字典
3.5.1创建字典
3.5.2访问元素
3.5.3增加、修改元素
3.5.4删除元素
3.5.5get()方法和items()方法
3.5.6keys()方法和values()方法
3.5.7字典长度和字典检索
3.5.8update()方法
3.6其他数据结构
3.6.1双端队列
3.6.2堆(优先队列)
3.7安全专题
3.7.1命令行参数解析模块argparse
3.7.2图片元数据解析模块exifread
3.7.3PDF文件元数据解析模块PyPDF3
习题
第4章流程控制
4.1分支结构
4.1.1三种分支结构
4.1.2if语句需要注意的问题
4.2循环结构
4.2.1while循环
4.2.2for in循环
4.2.3综合实例: 统计数字出现的次数
4.2.4break和continue语句
4.2.5while else和for else语句
4.3列表生成式
4.4生成器
4.5迭代器
4.6安全专题
4.6.1破解MD5
4.6.2凯撒密码
4.6.3仿射密码
习题
第5章函数和模块
5.1函数的定义和调用
5.1.1函数的定义方式
5.1.2函数说明文档
5.1.3返回值
5.1.4函数的嵌套
5.1.5函数执行的起点
5.2函数的参数
5.2.1位置参数
5.2.2默认值参数
5.2.3可变参数
5.2.4关键字参数
5.2.5命名关键字
5.2.6综合实例
5.2.7函数参数传递机制
5.3lambda表达式
5.4变量的作用域和命名空间
5.5函数高级特性
5.5.1生成器函数
5.5.2高阶函数
5.5.3偏函数
5.5.4修饰器(装饰器)
5.6模块化编程
5.6.1内置模块
5.6.2安装第三方模块
5.6.3自定义模块
5.6.4模块导入顺序
5.7PyInstaller打包
5.8安全专题
5.8.1摘要算法的雪崩效应
5.8.2AES算法的雪崩效应
习题
第6章文件操作和异常处理
6.1读、写文本文件
6.1.1读取文本文件
6.1.2写入文本文件
6.1.3读、写二进制文件
6.2举例
6.2.1统计字母出现的次数
6.2.2拓展
6.3jieba和wordcloud库
6.3.1jieba库
6.3.2wordcloud库
6.3.32023年政府工作报告词云
6.4读写CSV文件
6.4.1CSV模块
6.4.2举例
6.5读写JSON文件
6.5.1序列化
6.5.2JSON模块
6.6文件目录相关操作
6.6.1os模块以及os.path
6.6.2目录遍历的三种方式
6.7异常处理
6.7.1Python中的异常类
6.7.2捕获和处理异常
6.7.3raise语句
6.7.4排查异常和记录异常
6.8综合实例: 网络爬虫
6.8.1爬取热榜榜单
6.8.2爬取多个榜单
6.9安全专题
6.9.1简易病毒扫描
6.9.2大文件的摘要计算
习题
第7章面向对象程序设计
7.1类和对象
7.1.1定义类和创建对象
7.1.2访问可见性
7.1.3类属性和实例属性
7.2方法
7.2.1构造方法和析构方法
7.2.2类方法和静态方法
7.2.3@property装饰器
7.3继承和多态
7.3.1继承
7.3.2MixIn
7.3.3多态
7.4动态属性和slots
7.5定制类和重载运算符
7.5.1定制类
7.5.2重载运算符
7.6综合实例: 网络爬虫类
7.7安全专题
7.7.1AES算法流程
7.7.2AES算法实现
7.7.3AES加、解密类
习题
第8章多进程和多线程
8.1多进程
8.1.1multiprocessing模块的Process类
8.1.2进程池
8.1.3ProcessPoolExecutor并发编程
8.1.4进程间的通信
8.2多线程
8.2.1threading模块
8.2.2互斥锁Lock
8.2.3死锁
8.3线程通信
8.3.1使用Condition实现线程通信
8.3.2使用queue实现线程通信
8.3.3使用Event实现线程通信
8.4ThreadLocal Data
8.5ThreadPoolExecutor并发编程
8.6综合实例: 多线程爬虫
8.7安全专题
8.7.1暴力破解子域名
8.7.2多文件的哈希计算
8.7.3多进程生成哈希表
习题
第9章网络安全应用综合实践
9.1密码学综合应用: 文件安全传输
9.1.1实例具体要求
9.1.2第三方库介绍
9.1.3具体编程实现
9.1.4运行测试
9.2计算机取证: 元数据证据提取
9.2.1实例具体要求
9.2.2第三方库介绍
9.2.3具体编程实现
9.2.4运行测试
9.3异常检测: 基于机器学习的异常检测
9.3.1实例具体要求
9.3.2第三方库介绍
9.3.3具体编程实现
9.3.4运行测试
9.4渗透测试: 基本的Web渗透实践
9.4.1实例具体要求
9.4.2环境配置
9.4.3相关工具和第三方库
9.4.4渗透步骤
习题
参考文献
|
內容試閱:
|
Python语言经过30多年的发展,已经渗透到各个领域,特别是在网络空间安全和信息安全领域,越来越多的安全工具都使用Python开发,Python已经成为网络空间安全专业和信息安全专业学生的技能之一,以及培养学生安全思维的首选语言。
缘起
编者从事信息安全专业的课程教学20年,在课程理论教学、实践教学以及指导学生比赛和创新项目中,见证学生从使用工具到工具开发的迫切需求。特别在最近5年的Python课程教学实践中,将Python语言编程实践应用到信息安全数学基础、应用密码学、计算机取证等课程的教学中,愈发感受到Python语言在安全领域的重要意义,通过Python语言能够培养学生的计算思维和安全思维。
致读者
对于零基础且关注网络安全的读者,建议从头到尾逐章阅读; 对于有一定基础并关注网络安全的读者,建议首先浏览第2~8章的安全专题,然后进入第9章的综合案例; 对于零基础且不需要了解网络安全的读者,建议逐章阅读第2~8章,并且可以跳过这些章节的安全专题。
内容组织特色
(1) 采用广度优先方式介绍Python程序设计知识,以面向过程编程为主介绍面向对象编程模式。本书将基础内容和综合案例相结合,使读者既能通览Python知识点,又能将知识点用于解决具体问题。
(2) 针对网络安全实践,将知识点融入第2~8章中的安全专题,为第9章的综合案例实践奠定基础,由浅入深地把解决问题的完整思路展现给读者。同时将本书内容、课后习题和综合案例三位一体有机结合,多维度贯穿网络安全实践,并侧重密码学的编程实践。具体关联如下。
安 全 维 度相 关 章 节课 后 习 题
数学基础5.15、5.16、5.17、8.6
应用密码学2.9、4.6、5.8、6.9.2、7.7、8.7.2、8.7.3、9.12.11、3.7、4.10、4.11、4.12、5.12、5.13、5.14、7.9、7.10、7.11、7.12、9.1、9.2
计算机取证3.7、9.23.7、9.5
渗透测试4.6.1、6.9.1、8.7.1、9.46.9、9.6
异常检测9.39.3、9.4
注: “课后习题”列的x.y表示章号和习题编号,如5.15表示第5章习题中的第15题。
(3) 将基础编程训练和使用扩展模块相结合,提升读者的实践能力和解决问题的能力。例如,古典密码算法、AES算法的底层实现和简易的病毒扫描等,帮助读者在理解算法原理的基础上进行Python编程的实践,并注重提供给读者相应的内置模块和扩展模块进行调用,以帮助读者快速理解概念、原理并高效解决问题。安全相关的模块如下。
模 块 名 称相 关 章 节
hashlib2.9.1、5.8.1、6.9.2、8.7.2、8.7.3
hmac2.9.2
exifread3.7.2、9.2
PyPDF33.7.3、9.2
itertools4.6.1、8.7.1
PyCryptodome5.8.2、7.7.2、9.1
Urllib38.7.1、9.4
Scikitlearn9.3
Requests9.4
pillow9.4
pytesseract9.4
教学资源特色
本书具有丰富的立体化教学资源,包括配套的教学微课视频、源码、课后习题和答案,以及实验、实训等,同时提供教学课件方便教师的教与读者的学; 在头歌平台搜索“Python编程及网络安全实践”,即可获得各章节配套的单元测试、实训项目,包括难度等级逐步递增的闯关实训,并提供参考答案源码; 教师可以将实训项目应用到自己的课堂。此外,还提供在线视频教程综合案例,以扩展读者的知识广度和深度。
建议和反馈
由于编写时间仓促、编写水平有限,书中疏漏或不妥之处在所难免,请广大读者、同行不吝赐教。
致谢
本书由桂林电子科技大学张瑞霞和智国建共同编写,其中,智国建负责第1~5章的编写(除安全专题之外),张瑞霞负责第6~9章以及第1~5章中安全专题的编写。
在本书的编写过程中得到了钟艳如教授和她的研究生曹良斌、邓国力、李清杨及本科生苏少杰和严晋飞等的大力支持,在此向他们表示感谢。从立项选题到编写完成历经了3年多的时间,在这3年多的时间里,家人的支持和两个宝贝是我前进的动力。特别感谢清华大学出版社的编辑们提供的大量帮助,本书才能够顺利出版。
张瑞霞2023年5月
|
|