热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CookiesTokenMD5

之前介绍了Cookies的Value,其中NickName是可以通过勾选ShowURLdecodedcheck_box去显示真正的内容。例如下图1的UserTok

   之前介绍了 COOKIEs 的 Value, 其中 NickName 是可以通过勾选 "Show URL decoded " check_box 去显示真正的内容。例如下图1的 UserToken, 即使勾选了 check_box, 也不能显示原来的内容(以下称之为 “明文”) 。



   其实Token这一串密文(为防止泄密,遮挡了部分密文) 是经过MD5加密算法得出的。MD5, 是指 Message Digest Algorithm 5,译为“消息摘要算法第5版” ,对输入信息生成唯一的128位散列值(32个字符),主要运用在数字签名、文件完整性验证以及口令加密等方面。理论上,根据输出的密文,不能得到原始的明文,即其过程不可逆。但现在的MD5已不再是绝对安全,通常黑客可以通过类似于穷举法的碰撞法去逆向破解出明文。



   以明文 "abc123"举例,通过MD5加密得出密文为: “e99a18c428cb38d5f260853678922e03”,代码如下:

import hashlibhash = hashlib.md5()
hash.update("abc123".encode())
print(hash.hexdigest())
# 输出密文为: e99a18c428cb38d5f260853678922e03


   通过碰撞法可以把密文 e99a18c428cb38d5f260853678922e03 还原成明文 “abc123” , 其中核心代码如下,还原的明文结果如 图2,可见破解时间大概为9秒左右,这破解速度是根据明文的复杂程度而定。



def decrypt_md5(md5_value): md5_value=md5_value.lower()for k in range(6,8):for item in permutations(all_letters,k):item=''.join(item)print('.',end='')if md5(item.encode()).hexdigest()==md5_value:return item


   为防止密文被破译,在密码学中,可以通过 “加盐(Salt)” 的方法,那就是在明文的固定位置插入随机串,然后再进行MD5先加密,后乱序:先对明文进行MD5,然后对加密得到的MD5串的字符进行乱序,黑客就算攻破了数据库,也无法解密出正确的明文。以初始密码 123456为明文,随机 加 Salt 为 HNNJJjjmjfsdkmfkdd,代码如下, 通常加 Salt 多重加密,要把密文破译为正确的明文,机率非常低。



   因此,在公共地方,千万不要连接陌生的 wifi 或者登录一些重要的账号密码,尤其涉及金钱的网站。除了MD5加密,还有其它更加安全的非对称性加密方法,例如RSA,SHA,下一期再逐一介绍在反爬虫的主要应用。

from hashlib import md5password = '123456' # 加密后需拼接的 salt, random添加,安全性和长度成正比
salt = 'HNNJJjjmjfsdkmfkdd'def sign1():m = md5()m.update(password.encode('utf8'))sign1 = m.hexdigest()return sign1def sign2():m = md5()m.update((sign1() + salt).encode('utf8'))sign2 = m.hexdigest()return sign2print(sign2())


图1

在这里插入图片描述



图2
在这里插入图片描述


推荐阅读
  • 投融资周报 | Circle 达成 4 亿美元融资协议,唯一艺术平台 A 轮融资超千万美元 ... [详细]
  • 本文详细解析了微信服务端示例类的功能与应用。其中,`ClientResponseHandler` 类主要用于处理微信支付所需的响应数据,而 `TenpayHttpClient` 则是对 HTTP 请求(包括 GET 和 POST 方法)进行了封装,以便在内部调用时更加便捷和高效。这些工具类在实际开发中起到了关键作用,开发者无需深入了解其底层实现细节,即可轻松集成微信支付功能。 ... [详细]
  • Cosmos生态系统为何迅速崛起,波卡作为跨链巨头应如何应对挑战?
    Cosmos生态系统为何迅速崛起,波卡作为跨链巨头应如何应对挑战? ... [详细]
  • C#微信开发入门教程第二篇:新手快速上手指南,含详细视频讲解
    在距离上次课程一个多星期后,我们终于带来了第二讲的内容。虽然原计划是一周一次更新,但由于工作繁忙有所延迟。近期在交流群中发现,一些初学者已经能够熟练调用微信接口,但对微信公众平台的消息接收处理机制还不够了解。因此,本次课程将详细介绍如何高效处理微信公众平台的消息接收,并提供详细的视频讲解,帮助大家快速上手。 ... [详细]
  • PHP中元素的计量单位是什么? ... [详细]
  • 本文将继续探讨 JavaScript 函数式编程的高级技巧及其实际应用。通过一个具体的寻路算法示例,我们将深入分析如何利用函数式编程的思想解决复杂问题。示例中,节点之间的连线代表路径,连线上的数字表示两点间的距离。我们将详细讲解如何通过递归和高阶函数等技术实现高效的寻路算法。 ... [详细]
  • SQL 查询实体优化与实战技巧分享 ... [详细]
  • Java中不同类型的常量池(字符串常量池、Class常量池和运行时常量池)的对比与关联分析
    在研究Java虚拟机的过程中,笔者发现存在多种类型的常量池,包括字符串常量池、Class常量池和运行时常量池。通过查阅CSDN、博客园等相关资料,对这些常量池的特性、用途及其相互关系进行了详细探讨。本文将深入分析这三种常量池的差异与联系,帮助读者更好地理解Java虚拟机的内部机制。 ... [详细]
  • 本文探讨了一种高效的算法,用于生成所有数字(0-9)的六位组合,允许重复使用数字,并确保这些组合的和等于给定的整数N。该算法通过优化搜索策略,显著提高了计算效率,适用于大规模数据处理和组合优化问题。 ... [详细]
  • 本指南从零开始介绍Scala编程语言的基础知识,重点讲解了Scala解释器REPL(读取-求值-打印-循环)的使用方法。REPL是Scala开发中的重要工具,能够帮助初学者快速理解和实践Scala的基本语法和特性。通过详细的示例和练习,读者将能够熟练掌握Scala的基础概念和编程技巧。 ... [详细]
  • 计算机视觉领域介绍 | 自然语言驱动的跨模态行人重识别前沿技术综述(上篇)
    本文介绍了计算机视觉领域的最新进展,特别是自然语言驱动的跨模态行人重识别技术。上篇内容详细探讨了该领域的基础理论、关键技术及当前的研究热点,为读者提供了全面的概述。 ... [详细]
  • 2012年9月12日优酷土豆校园招聘笔试题目解析与备考指南
    2012年9月12日,优酷土豆校园招聘笔试题目解析与备考指南。在选择题部分,有一道题目涉及中国人的血型分布情况,具体为A型30%、B型20%、O型40%、AB型10%。若需确保在随机选取的样本中,至少有一人为B型血的概率不低于90%,则需要选取的最少人数是多少?该问题不仅考察了概率统计的基本知识,还要求考生具备一定的逻辑推理能力。 ... [详细]
  • 本文介绍了UUID(通用唯一标识符)的概念及其在JavaScript中生成Java兼容UUID的代码实现与优化技巧。UUID是一个128位的唯一标识符,广泛应用于分布式系统中以确保唯一性。文章详细探讨了如何利用JavaScript生成符合Java标准的UUID,并提供了多种优化方法,以提高生成效率和兼容性。 ... [详细]
  • Python 实战:异步爬虫(协程技术)与分布式爬虫(多进程应用)深入解析
    本文将深入探讨 Python 异步爬虫和分布式爬虫的技术细节,重点介绍协程技术和多进程应用在爬虫开发中的实际应用。通过对比多进程和协程的工作原理,帮助读者理解两者在性能和资源利用上的差异,从而在实际项目中做出更合适的选择。文章还将结合具体案例,展示如何高效地实现异步和分布式爬虫,以提升数据抓取的效率和稳定性。 ... [详细]
  • JDK 1.8引入了多项并发新特性,显著提升了编程效率。本文重点探讨了LongAdder和StampedLock的特性和应用场景。此外,还介绍了在多线程环境中发生死锁时,如何通过jps命令进行诊断和排查,提供了详细的步骤和示例。这些改进不仅增强了系统的性能,还简化了开发者的调试工作。 ... [详细]
author-avatar
mobiledu2502879767
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有