NSSCTF-Crypto入门题 练习记录贴 ‘‘一‘‘

news2025/3/10 10:53:20

文章目录

  • 前言
  • 001[鹤城杯 2021]easy_crypto
  • 002[强网拟态 2021]拟态签到题
  • 003[SWPUCTF 2021 新生赛]crypto8
  • 004[SWPUCTF 2021 新生赛]crypto7
  • 005[SWPUCTF 2021 新生赛]crypto6
  • 006[SWPUCTF 2021 新生赛]ez_caesar
  • 007[SWPUCTF 2021 新生赛]crypto10
  • 008[鹤城杯 2021]A_CRYPTO
  • 009[SWPUCTF 2021 新生赛]pigpig
  • 010[SWPUCTF 2021 新生赛]ez_rsa


前言

十题记录一次。001-010.

001[鹤城杯 2021]easy_crypto

在这里插入图片描述

核心价值观编码,工具解。


002[强网拟态 2021]拟态签到题

在这里插入图片描述
有等号,base64解码


003[SWPUCTF 2021 新生赛]crypto8

在这里插入图片描述

UUencode编码。工具解


004[SWPUCTF 2021 新生赛]crypto7

在这里插入图片描述

试了hex编码之类的,最后发现密文长度为32位,md5解密试试。


005[SWPUCTF 2021 新生赛]crypto6

在这里插入图片描述

先base16,base32最后base64.。 base16就是hex编码。


006[SWPUCTF 2021 新生赛]ez_caesar

在这里插入图片描述

一开始试了将str做凯撒,但是之后base64出不来,于是先对str做base64得到flag,在对flag进行凯撒移位。移位直接把原代码的+5改为-5就好。


007[SWPUCTF 2021 新生赛]crypto10

在这里插入图片描述

一个rot13,这题用维吉尼亚密码也能解出一个前缀NSSCTF的flag,错的。


008[鹤城杯 2021]A_CRYPTO

在这里插入图片描述

先ROT13,hex,base32,base64,最后base85. 但是解密base85会报错,用python解一下,

import base64

def base85_decode(encoded_string):
    try:
        # 解码Base85
        decoded_data = base64.b85decode(encoded_string.encode())
        # 将字节数据转换为字符串
        decoded_text = decoded_data.decode('utf-8')
        return decoded_text
    except Exception as e:
        print(f"解码失败:{e}")
        return None

# 你的Base85编码字符串
encoded_string = "W^7?+dsi@bUwJTfUt=_GUvgz(F)?{xWo~0IWHD}MA$<"

# 解码
decoded_text = base85_decode(encoded_string)

# 打印解码结果
if decoded_text:
    print("解码结果:", decoded_text)

不知道,为什么有这种题,乱七八糟的加密过程,之前写过三四次加密的题,但是每解一次都会有个小hint。

看了1说这个可以用ciphey自动化解密,但是啊啊啊啊啊啊啊啊啊啊来来回回折腾了一天就是安装不了,无语死了。


009[SWPUCTF 2021 新生赛]pigpig

在这里插入图片描述

在这里插入图片描述

猪圈密码,工具解。


010[SWPUCTF 2021 新生赛]ez_rsa

import hashlib
p = 1325465431
q = 152317153
e = 65537
n = p * q
d = pow(e, -1, (p - 1) * (q - 1))  # 计算私钥指数 d
def md5_encrypt(data):
    md5 = hashlib.md5()
    # 将数字转换为字符串再进行编码
    md5.update(str(data).encode('utf-8'))
    encrypted_data = md5.hexdigest()
    return encrypted_data


plaintext = 43476042047970113
encrypted_data = md5_encrypt(plaintext)
print(f"MD5: {encrypted_data}")

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

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

相关文章

SAM + YOLO 智能抠图

在计算机视觉领域&#xff0c;对象检测和实例分割是使机器能够理解视觉数据并与之交互的关键任务。 准确识别和隔离图像中的物体的能力具有许多实际应用&#xff0c;从自动驾驶车辆到医学成像。 在这篇博文中&#xff0c;我们将探索如何在 Roboflow 和 Ultralytics YOLOv8 的帮…

Linux C 时间编程

时间编程 Linux中时间相关命令时间编程time  获取当前的时间gmtime  获取当前日期时间localtime  获取本地时间日期asctime  规格时间结构体为字符串 Linux中时间相关命令 1&#xff09;date&#xff1a;打印当前的系统时间。 2&#xff09;date -s 20231111&#xff…

C#,数值计算——函数计算,Eulsum的计算方法与源程序

1 文本格式 using System; namespace Legalsoft.Truffer { public class Eulsum { private double[] wksp { get; set; } private int n { get; set; } private int ncv { get; set; } public bool cnvgd { get; set; } pri…

openEuler编译安装nmon性能监控工具及可视化分析工具

ln 介绍 nmon&#xff08;short for Nigel’s Monitor&#xff09;是一个性能分析工具&#xff0c;由蓝色巨人IBM开发&#xff0c;最早用于自家操作系统UNIX&#xff0c;AIX &#xff08;Advanced Interactive eXecutive&#xff09;。现在也能用在Linux上。它可以显示系统的…

跨域:利用JSONP、WebSocket实现跨域访问

跨域基础知识点&#xff1a;跨域知识点 iframe实现跨域的四种方式&#xff1a;http://t.csdnimg.cn/emgFr 注&#xff1a;本篇中使用到的虚拟主机也是上面iframe中配置的 目录 JSONP跨域 JSONP介绍 跨域实验&#xff1a; WebSocket跨域 websocket介绍 跨域实验 JSONP跨域…

JavaWeb Day09 Mybatis-基础操作02-XML映射文件动态SQL

目录 Mybatis动态SQL介绍​编辑 一、案例 ①Mapper层 ②测试类 ③EmpMapper.xml ④结果​ 二、标签 &#xff08;一&#xff09;if where标签 ​①EmpMapper.xml ②案例 ③总结 &#xff08;二&#xff09;foreach标签 ①SQL语句 ②Mapper层 ③EmpMapper.xml ④…

基于GPTs个性化定制SCI论文专业翻译器

1. 什么是GPTs GPTs是OpenAI在2023年11月6日开发者大会上发布的重要功能更新&#xff0c;允许用户根据特定需求定制自己的ChatGPT模型。 Introducing GPTs 官方介绍页面https://openai.com/blog/introducing-gpts 在原有自定义ChatGPT的流程中&#xff0c;首先需要自己编制p…

HuggingFace模型头的自定义

在线工具推荐&#xff1a; Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 在本文中我们将介绍如何使HuggingFace的模型适应你的任务&#xff0c;在Pytorch中建立自定义模型头并将其连接到HF模型的主体&#…

2023数据安全战场回顾:迅软科技助您稳固阵线

随着各行业的数字化转型不断深入&#xff0c;数据安全逐步进入法制化的强监管时代。然而&#xff0c;由于人为攻击、技术漏洞和监管缺位等原因&#xff0c;各种数据泄露事件频繁发生&#xff0c;企业数据安全威胁日益严峻。 以下是我对2023年第三季度安全事件的总结&#xff0c…

Maven Profile组设置

application.properties中xxxx

JS实现数据结构与算法

队列 1、普通队列 利用数组push和shif 就可以简单实现 2、利用链表的方式实现队列 class MyQueue {constructor(){this.head nullthis.tail nullthis.length 0}add(value){let node {value}if(this.length 0){this.head nodethis.tail node}else{this.tail.next no…

hosts文件地址

Hosts是一个没有扩展名的系统文件&#xff0c;可以用记事本等工具打开&#xff0c;其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”&#xff0c;当用户在浏览器中输入一个需要登录的网址时&#xff0c;系统会首先自动从Hosts文件中寻找对应的IP地址&…

Typescript -尚硅谷

基础 1.ts是以js为基础构建的语言&#xff0c;是一个js的超集(对js进行了扩展)&#xff1b; 2.ts(type)最主要的功能是在js的基础上引入了类型的概念; Js的类型是只针对于值而言&#xff0c;ts的类型是针对于变量而言 Ts可以被编译成任意版本的js&#xff0c;从而进一步解决了…

企业邮箱本地私有化部署解决方案

随着互联网化进程不断深入&#xff0c;加快推进企业信息化系统建设&#xff0c;已经成为提高企业核心竞争力的重要途径。企业对企业邮箱系统的需求越来越大&#xff0c;企业邮箱系统作为企业级通讯工具中的利器&#xff0c;在协同办公和内外业务交流上发挥着无可替代的巨大作用…

LLM代码生成器的挑战【GDELT早期观察】

越来越多的研究开始对LLM大模型生成的代码的质量提出质疑&#xff0c;尽管科技行业不断推出越来越多的旨在增强甚至取代人类编码员的工具。 随着我们&#xff08;GDELT&#xff09;继续探索和评估越来越多的此类工具&#xff0c;以下是我们的一些早期观察结果。 在线工具推荐&a…

将复数中的虚部取反 即对复数求共轭 numpy.conjugate()

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 将复数中的虚部取反 即对复数求共轭 numpy.conjugate() [太阳]选择题 请问以下代码中执行语句输出结果是&#xff1f; import numpy as np a np.array([1 2j, 3 - 4j]) print("【显示…

Linux学习教程(第二章 Linux系统安装)1

第二章 Linux系统安装 学习 Linux&#xff0c;首先要学会搭建 Linux 系统环境&#xff0c;也就是学会在你的电脑上安装 Linux 系统。 很多初学者对 Linux 望而生畏&#xff0c;多数是因为对 Linux 系统安装的恐惧&#xff0c;害怕破坏电脑本身的系统&#xff0c;害怕硬盘数据…

第二十五节——Vuex--历史遗留

文档地址 Vuex 是什么&#xff1f; | Vuex version V4.x 一、概念 Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式 库。它采用集中式存储管理应用的所有组件的状态&#xff0c;并以相应的规则保证状态以一种可预测的方式发生变化。一个状态自管理应用包含以下几个部…

大数据Doris(二十一):数据导入演示

文章目录 数据导入演示 一、启动zookeeper集群(三台节点都启动) 二、启动hdfs集群

计算机网络——物理层-传输方式(串行传输、并行传输,同步传输、异步传输,单工、半双工和全双工通信)

目录 串行传输和并行传输 同步传输和异步传输 单工、半双工和全双工通信 串行传输和并行传输 串行传输是指数据是一个比特一个比特依次发送的。因此在发送端和接收端之间&#xff0c;只需要一条数据传输线路即可。 并行传输是指一次发送n个比特&#xff0c;而不是一个比特&…