摘要:
装饰器本质上是一个 Python 函数或类,它可以让其他函数或类在不需要做任何代码修改的前提下增加额外功能,装饰器的返回值也是一个函数/类对象 Python 中的函数可以像普通变量一样当做参数传递给另外一个函数,也可以把一个函数作为返回值,这类函数被称为高阶(Higher-order)函数 它经常用 阅读全文
摘要:
RSA加密算法是一种非对称加密算法,所谓非对称,就是指该算法加密和解密使用不同的密钥,即使用加密密钥进行加密、解密密钥进行解密。在RSA算法中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。加密算法E和解密算法D也都是公开的。虽然解密密钥SK是由公开密钥PK决定的, 阅读全文
摘要:
AES加密 高级加密标准(AES,Advanced Encryption Standard)是一种对称密钥加密算法,用于保护敏感信息。它取代了原先的数据加密标准(DES),因为DES已经不再被认为足够安全 密钥是AES算法实现加密和解密的根本,对称加密对明文的加密和解密需要使用同一个密钥 AES支持 阅读全文
摘要:
概念 抽象语法树 (Abstract Syntax Tree),简称 AST,它是源代码语法结构的一种抽象表示。它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构 Abstract Syntax Tree抽象语法树(通常被简写成AST)实际上只是一个解析树(parse tr 阅读全文
摘要:
MD5是一种不可逆的加密算法。可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致 md5的特性 压缩性:任意长度的数据,算出的MD5值长度都是固定的。 容易计算:从原数据计算出MD5值很容易。 抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD 阅读全文
摘要:
JA3 是一种对传输层安全应用程序进行指纹识别的方法。它于 2017 年 6 月首次发布在 GitHub 上,是 Salesforce 研究人员 John Althouse、Jeff Atkinson 和 Josh Atkins 的作品。创建的 JA3 TLS/SSL 指纹可以在应用程序之间重叠,但 阅读全文
摘要:
SSL/TLS 握手是为了安全地协商出一份对称加密的秘钥 Client Hello 第一步是客户端向服务端发送 Client Hello 消息,这个消息里包含了一个客户端生成的随机数 Random1、客户端支持的加密套件(Support Ciphers)和 SSL Version 等信息 Serve 阅读全文
摘要:
用对称加密可行? 可行,问题就是这个密钥怎么让传输的双方知晓,同时不被别人知道 什么是非对称加密? 有两把密钥,通常一把叫做公钥、一把叫做私钥,用公钥加密的内容必须用私钥才能解开,同样,私钥加密的内容只有公钥能解开 用非对称加密可行吗? 浏览器向服务器传数据前都先用这个公钥加密好再传,这条数据的安全 阅读全文
摘要:
协程 什么是协程 由于GIL的存在,导致Python多线程性能甚至比单线程更糟 GIL: 全局解释器锁(英语:Global Interpreter Lock,缩写GIL),是计算机程序设计语言解释器用于同步线程的一种机制,它使得任何时刻仅有一个线程在执行。[1]即便在多核心处理器上,使用 GIL 的 阅读全文
摘要:
全局解释器锁 Global Interpreter Lock,CPython在解释器级别的一把锁,叫GIL全局解释器锁。 程序编译成字节码,程序想跑多线程,但是GIL保证CPython进程中,同一时刻只能有一个线程执行字节码。 所以,哪怕是在多CPU的情况下,即使每个线程恰好调度到了每个CPU上,有 阅读全文