- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第18章 密码学编程 第18章 密码学编程 信息加密和信息隐藏是实现信息安全与保密的主要手段。其中信息隐藏或隐写术具有悠久的历史,常用于版权保护和信息保密等相关领域,近几年来与之有关的研究呈上升趋势。作为传统的信息安全技术,加密和解密算法则一直都是业内研究的重点。 第18章 密码学编程 Python标准库hashlib实现了SHA1、SHA224、SHA256、SHA384、SHA512以及MD5等多个安全哈希算法。 标准库zlib提供了adler32和crc32算法的实现,标准库hmac实现了HMAC算法。 第18章 密码学编程 扩展库pycrypto、pycryptodome和cryptography提供了SHA系列算法和RIPEMD160等多个安全哈希算法,以及DES、AES、RSA、DSA、ElGamal等多个加密算法和数字签名算法的实现。 18.1 安全哈希算法 安全哈希算法也称报文摘要算法,对任意长度的消息可以计算得到固定长度的唯一指纹。理论上,即使是内容非常相似的消息也不会得到相同的指纹。 安全哈希算法是不可逆的,无法从指纹还原得到原始消息,属于单向变换算法。 安全哈希算法常用于数字签名领域,很多管理信息系统把用户密码的哈希值存储到数据库中而不直接存储密码。 文件完整性检查也经常用到MD5或其他安全哈希算法。 18.1 安全哈希算法 使用Python标准库hashlib计算字符串的安全哈希值。 import hashlib hashlib.md5(abcdefg.encode()).hexdigest() #使用MD5算法 hashlib.sha512(abcdefg.encode()).hexdigest() #使用SHA512算法 hashlib.sha256(abcdefg.encode()).hexdigest() #使用SHA256算法 18.1 安全哈希算法 Python扩展库pycrypto和pycryptodome也提供了MD2、MD4、MD5、HMAC、RIPEMD、SHA、SHA224、SHA256、SHA384、SHA512等多个安全哈希算法的实现。 from Crypto.Hash import SHA256 h = SHA256.SHA256Hash(abcdefg.encode()) h.hexdigest() 暴力破解MD5值 from hashlib import md5 from string import ascii_letters, digits from itertools import permutations from time import time all_letters = ascii_letters + digits + .,; #候选字符集 18.1 安全哈希算法 def decrypt_md5(md5_value): if len(md5_value) != 32: #破解32位MD5值 print(error) return md5_value = md5_value.lower() #转换为小写MD5值 for k in range(5,10): #预期密码长度 for item in permutations(all_letters, k): #暴力测试 item = .join(item) print(., end=) #显示进度 if md5(item.encode()).hexdigest() == md5_value: return item 18.1 安全哈希算法 md5_value = e7d057704ea5206d8cb61280741238f5 start = time() result = decrypt_md5(md5_value) if result: print(\nSuccess: +md5_value+==+result) print(Time used:, time()-start) 18.1 安全哈希算法 18.2 对称密钥密码算法DES和AES 扩展库pycrypto中DES算法的用法: from Crypto.Cipher import DES des_encrypt_decrypt = DES.new(ShanDong, DES.MODE
您可能关注的文档
- python课件-第7章 文件操作.ppt
- python课件-第8章 异常处理结构与程序调试.ppt
- python课件-第10章 网络程序设计.ppt
- python课件-第11章 大数据处理.ppt
- python课件-第12章 Windows系统编程.ppt
- python课件-第13章 多线程与多进程编程.ppt
- python课件-第14章 数据库编程.ppt
- python课件-第15章 多媒体编程.ppt
- python课件-第17章 科学计算与可视化.ppt
- python课件-第3章 选择与循环.ppt
- 2024年陕西咸阳亨通电力(集团)有限公司供电服务业务部直聘用工招聘145人笔试参考题库附带答案详解 .docx
- 2024年中建四局土木工程有限公司校园招聘笔试参考题库附带答案详解 .docx
- 2024年四川雅茶贸易有限公司公开招聘和考察聘用人员3人笔试参考题库附带答案详解 .docx
- 2024年中国烟草总公司辽宁省公司公开招聘拟录用人员(166人)笔试参考题库附带答案详解 .docx
- 2024江苏连云港中诚物业管理有限公司招聘工作人员1人笔试参考题库附带答案详解 .docx
- [毕节]2025年贵州毕节市引进人才649人笔试历年参考题库附带答案详解.docx
- 2024年度中国东航技术应用研发中心有限公司校园招聘笔试参考题库附带答案详解 .docx
- 2024年福建省厦门盐业有限责任公司春季人才招聘1人笔试参考题库附带答案详解 .docx
- 2024年山东省环保发展集团绿能有限公司职业经理人招聘2人笔试参考题库附带答案详解 .docx
- 2024年安徽滁州郊源阳光电力维修工程有限责任公司招聘41人(第一批次)笔试参考题库附带答案详解 .docx
最近下载
- 2023年山东省临沂市中考物理测试试卷及解析.pdf VIP
- 统编版《道德与法治》一年级下册教案.pdf VIP
- 部编版小学道德与法治四年级教材解读及教学建议.pptx
- Unit 5 First Aid Reading and Thinking教学设计-2023-2024学年高中英语人教版选择性必修第二册.docx
- (2025春新版本)部编版一年级语文下册全册教案.pdf
- 《MSA测量系统分析》课件.ppt VIP
- 2024年江西工业职业技术学院单招职业技能测试题库标准卷.docx VIP
- 中职英语新课标词汇表.doc
- 2025年江苏安全技术职业学院单招职业适应性测试题库及1套完整答案.docx VIP
- 积极心理学全套课件.ppt VIP
本人专注于k12教育,英语四级考试培训,本人是大学本科计算机专业毕业生,专注软件工程计算机专业,也可承接计算机专业的C语言程序设计,Java开发,Python程序开发。
文档评论(0)