【密文特征分析】加密类型判断

1、代码

import re
import sysimport requestsdef post_url(data):"""其实就是把「https://www.dcode.fr/cipher-identifier」网站的功能,改成接口形式之所以改成接口,是因为网站加载有些慢,很多不必要加载很是浪费时间:param data: 需要判断的密码字符串:return: 网站的返回分析数据"""session = requests.session()# 获取 Cookieurl = "https://www.dcode.fr/cipher-identifier"response = session.get(url)cookie = response.headers['Set-Cookie'].split(";")[0]# 带 Cookie 请求 api 接口url = "https://www.dcode.fr/api/"payload = f"tool=cipher-identifier&ciphertext={data}&clues="headers = {'Cookie': cookie,'Sec-Ch-Ua': '"Microsoft Edge";v="119", "Chromium";v="119", "Not?A_Brand";v="24"','Accept': 'application/json, text/javascript, */*; q=0.01','Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8','X-Requested-With': 'XMLHttpRequest','Sec-Ch-Ua-Mobile': '?0','User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/119.0.0.0 Safari/537.36 Edg/119.0.0.0','Sec-Ch-Ua-Platform': '"macOS"','Origin': 'https://www.dcode.fr','Sec-Fetch-Site': 'same-origin','Sec-Fetch-Mode': 'cors','Sec-Fetch-Dest': 'empty','Referer': 'https://www.dcode.fr/cipher-identifier','Accept-Encoding': 'gzip, deflate','Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6'}response = session.post(url, headers=headers, data=payload).json()return response["results"]def clear_dict(cipher):""" 清理掉HTML标签 """new_dict = {}for key in cipher:new_dict[re.search('<a href=".*?">(.*?)</a>', key).group(1)] = cipher[key]return new_dictdef format_dict(dictionary):""" 字典输出格式化 """max_key_len = max(len(key) for key in dictionary.keys())max_value_len = max(len(value) for value in dictionary.values())for key, value in dictionary.items():key_spaces = ' ' * (max_key_len - len(key))value_spaces = ' ' * (max_value_len - len(value))print(key + key_spaces + ' : ' + value + value_spaces)if __name__ == '__main__':if len(sys.argv) == 2:cipher_dict = post_url(sys.argv[1])else:print("使用说明 : python3 cipher_identifier.py {密文}")exit(1)format_dict(clear_dict(cipher_dict))

2、使用说明

没有什么好说明的,就是 https://www.dcode.fr/cipher-identifier 网站接口,网站加载太慢了,所以我就把接口做成了Python脚本,方便使用,节省时间。

┌──(root㉿kali)-[~] (๑•̀ㅂ•́)و✧ 
└─# python3 cipher_identifier.py
Usage : python3 cipher_identifier.py {密文}
┌──(root㉿kali)-[~] (๑•̀ㅂ•́)و✧ 
└─# python3 cipher_identifier.py cf4c2232354952690368f1b3dfdfb24d
MD5                   : ■▪
Hexadecimal Data      : ■ 
MD4                   : ■ 
Hexadecimal (Base 16) : ▪ 
ASCII Code            : ▪ 
Base62 Encoding       : ▫ 
Base64 Coding         : ▫ 
XOR Cipher            : ▫ 
UUID                  : ▫ 
Huffman Coding        : ▫ 
LZW Compression       : ▫ 
Circular Bit Shift    : ▫ 
EBCDIC Encoding       : ▫ 
RC4 Cipher            : ▫ 
Substitution Cipher   : ▫ 
Shift Cipher          : ▫ 
Homophonic Cipher     : ▫ 
Turning Grille        :

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/157723.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Lodash常用方法介绍

Lodash 是一个 JavaScript 工具库&#xff0c;提供了许多实用的函数和方法&#xff0c;可以简化 JavaScript 编程中的许多任务。下面是 Lodash 中常用的方法介绍&#xff1a; Array 相关方法&#xff1a;包括对数组的过滤、排序、去重、查找等操作&#xff0c;例如 _.filter()、…

springboot使用的设计模式

设计模式是在软件设计中常用的一些通用解决方案。在开发商城编码时&#xff0c;以下设计模式可能会有用&#xff1a; 工厂模式&#xff08;Factory Pattern&#xff09;&#xff1a; 用于创建对象的模式。在商城中&#xff0c;可能会涉及到创建不同类型的商品、订单等对象&…

【C++上层应用】3. 动态内存

文章目录 【 1. new和delete运算符 】1.1 new 分配内存1.2 delete 释放内存1.3 实例 【 2. 数组的动态内存分配 】2.1 一维数组2.2 二维数组2.3 三维数组 【 3. 对象的动态内存分配 】 C 程序中的内存分为两个部分&#xff1a; 栈&#xff1a;在 函数内部 声明的所有变量都将占…

go语言学习之旅之Go语言函数

学无止境&#xff0c;今天继续学习go语言的基础内容 Go语言函数 Go 语言函数定义格式如下 func function_name( [parameter list] ) [return_types] {函数体}函数定义解析 func&#xff1a;函数由 func 开始声明 function_name&#xff1a;函数名称&#xff0c;函数名和参数…

Me-and-My-Girlfriend-1

Me-and-My-Girlfriend-1 一、主机发现和端口扫描 主机发现&#xff0c;靶机地址192.168.80.147 arp-scan -l端口扫描&#xff0c;开放了22、80端口 nmap -A -p- -sV 192.168.80.147二、信息收集 访问80端口 路径扫描 dirsearch -u "http://192.168.80.147/" -e * …

浪潮信息云峦服务器操作系统KeyarchOS体验与实践

写在前面 大家好我是网络豆&#xff0c;一名云计算运维人员&#xff0c;本文将会带大家体验一下浪潮信息服务器操作系统云峦KeyarchOS。看看浪潮信息服务器操作系统云峦KeyarchOS的优势与实践操作如何。 背景了解 KeyarchOS是浪潮信息基于Linux Kernel、OpenAnolis等开源技术…

【Element】el-progress 自定义进度条

一、背景 要求弹窗内显示进度条&#xff0c;根据接口获取当前进度值&#xff0c;间隔5秒调用接口获取最新进度值&#xff0c;当进度值为100时&#xff0c;允许关闭进度条弹窗 二、效果 三、实现步骤 3.1、按钮绑定事件&#xff0c;打开弹窗 <el-button class"cance…

接入电商数据平台官方开放平台API接口获取商品实时信息数据,销量,评论,详情页演示

要接入电商数据平台官方开放平台API接口获取商品实时信息数据、销量、评论和详情页演示&#xff0c;需要按照以下步骤进行操作&#xff1a; 找到可用的API接口&#xff1a;首先&#xff0c;需要找到支持查询商品信息的API接口。可以在电商数据平台的官方开放平台上查找相应的AP…

python tkinter 使用

python tkinter 使用 ython可以使用多种GUI库来创建窗口页面&#xff0c;例如Tkinter、PyQt、wxPython等。 本篇文章主要讲述如何使用tkinter。 1&#xff1a;导入 import tkinter as tk这时如果运行的话会提示&#xff1a; ModuleNotFoundError: No module named ‘tkint…

JVM常见参数总结

JVM是Java应用程序的运行环境&#xff0c;它通过参数配置来控制其行为和性能。在JVM中&#xff0c;有很多参数可以用来调整其运行状态&#xff0c;这些参数可以帮助开发人员根据应用程序的需求进行优化和调整。在本次分享中&#xff0c;作者将介绍一些常见的JVM参数&#xff0c…

弄懂Rust编程中的Trait

1.定义 trait trait 定义了某个特定类型拥有可能与其他类型共享的功能。可以通过 trait 以一种抽象的方式定义共享的行为。可以使用 trait bounds 指定泛型是任何拥有特定行为的类型。 一个类型的行为由其可供调用的方法构成。如果可以对不同类型调用相同的方法的话&#xff…

机器人制作开源方案 | 莲花灯

1. 功能描述 莲花灯是一款基于莲花形象设计的机器人&#xff0c;本文示例将用两种模式来实现莲花灯的亮灭功能。 自主模式&#xff1a;用 光强传感器 控制莲花灯的灯叶开合。暗光情况下灯叶打开&#xff0c;灯亮&#xff1b;强光情况下灯叶闭合&#xff0c;灯灭。 …

webpack环境变量的设置

现在虽然vite比较流行&#xff0c;但对于用node写后端来说&#xff0c;webpack倒是成了一个很好的打包工具&#xff0c;可以很好的保护后端的代码。所以这块的学习还是不能停下来&#xff0c;接下来我们来针对不同的环境做不同的设置写好笔记。 引用场景主要是针对服务器的各种…

python模拟砍价源码详解

以下是一个简单的Python程序&#xff0c;模拟砍价的过程。这个程序假设原始价格是100元&#xff0c;每次砍价砍掉价格的10%&#xff1a; class Item:def __init__(self, original_price):self.original_price original_priceself.current_price original_pricedef bargain(s…

0时区格林威治时间转换手机当地时间-Android

假设传入的是2023-11-01T12:59:10.420987这样的格式 要将格式为2023-11-01T12:59:10.420987的UTC时间字符串转换为Android设备本地时间&#xff0c;您可以使用java.time包中的类&#xff08;在API 26及以上版本中可用&#xff09;。如果您的应用需要支持较低版本的Android&…

docker通过挂载conf文件启动redis

初衷&#xff1a;之前直接在启动脚本中没有挂载配置文件&#xff0c;并且直接设置了密码等&#xff0c;后续要使用集群&#xff0c;苦于无法修改配置&#xff0c;进入redis容器也找不到redis.conf&#xff0c;所以写这个文章用来使用redis的配置&#xff0c;来达到后续都可动态…

pdf转png工具类

pdf转图片的工具类 1、需要引入的包 <dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.4</version></dependency> 2、工具类 public static void main(String[] args) {Stri…

华为OD南京研究所二面手撕代码实录:乘电梯的最短时间

乘电梯的最短时间 某公司,每天早上都有很多人去坐电梯,每个人都可能到不同的楼层.同时电梯还有一个容量限制.电梯最多只能带K个人.电梯从第a层到第b层,会花费|a-b|的时间. 现在有N个人,以及知道每个人想要去的地方,请问如何坐电梯,才能使每个人到达到他们对应的楼层,且所花费时…

《微信小程序开发从入门到实战》学习二十四

3.3.12开发创建投票多选投票页面 创建投票多选投票页面和创建单选投票页面没有区别&#xff0c;唯一区别仅在于向服务端发送数据时&#xff0c;告诉服务器这个投票是什么类型的投票。这个类型用三种数据类型表示都可以&#xff0c;分别如下所示&#xff1a; multiple:true/fa…

Json数据格式

json比较可读&#xff0c;通过键值对返回。实现通常有两种方式:一种是自己来构造&#xff0c;也就是用一个对象存储数据&#xff0c;在最后输出时将其json字符串化&#xff1b;第二种是使用 RestController 注解实现json数据返回。 第一种 导入依赖坐标&#xff1a; <depe…