cryptohack wp day(1)

就从头开始吧

第一题 (ASCII)

cryptohack wp day(1)

一道简单的ASCII码转换,直接用题目的提示代码解就行了
ascii=[99, 114, 121, 112, 116, 111, 123, 65, 83, 67, 73, 73, 95, 112, 114, 49, 110, 116, 52, 98, 108, 51, 125]
flag=""
for i in ascii:
    flag+=chr(i)
print(flag)

第二题(Hex)

      Hex编码的原理就是将原来8位的二进制字节打断,分成两个4位的,并且在前面加上4个零,进行补位这样一个8位二进制字节就变成了2个8位的二进制字节,在将新得到的2个二进制字符进行16位进制转换得到的新的16位字符串就是Hex的值。

       hex编码就是16进制编码,是字符的[ascii码](https://so.csdn.net/so/search?q=ascii码&spm=1001.2101.3001.7020)值的16进制表示,所以解码时一般先转为ascii码,后转为字符串形式。

cryptohack wp day(1)
代码如下:

import binascii
hex ='63727970746f7b596f755f77696c6c5f62655f776f726b696e675f776974685f6865785f737472696e67735f615f6c6f747d'

print(bytes.fromhex(hex))

print(binascii.a2b_hex(hex))

或者

from Crypto.Util.number import *
import libnum
hex =0x63727970746f7b596f755f77696c6c5f62655f776f726b696e675f776974685f6865785f737472696e67735f615f6c6f747d
print(libnum.n2s(int(hex)))##注意,libnum库中将16进制转字符串时,必须转为int类型,不然会报错
print(long_to_bytes(hex))

像这题题,可以应用python的很多库,如libnum库,binascii库,等等。

第三题(base64)

cryptohack wp day(1)
代码如下:

import base64
from Crypto.Util.number import *
hex =0x72bca9b68fc16ac7beeb8f849dca1d8a783e8acf9679bf9269f7bf
base = long_to_bytes(hex)
flag=base64.b64encode(base)
print(flag)

先解16进制码为字节,然后再解base64

第四题

cryptohack wp day(1)
密文:11515195063862318899931685488813747395775516287289682636499965282714637259206269
代码如下:

from Crypto.Util.number import *
import libnum
s = 11515195063862318899931685488813747395775516287289682636499965282714637259206269
print(long_to_bytes(s))
print(libnum.n2s(s))

原文链接:https://www.cnblogs.com/Cryglz/archive/2023/05/04/17369960.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:cryptohack wp day(1) - Python技术站

(0)
上一篇 2023年5月4日
下一篇 2023年5月4日

相关文章

  • Unity实现卡片循环滚动效果的示例详解

    关于“Unity实现卡片循环滚动效果的示例详解”,我会提供完整的攻略,以下是具体步骤: 1. 准备工作 在开始项目之前,需要启动Unity,创建一个新的Unity项目并打开Unity编辑器。然后,可以通过导入各种素材来为项目准备好所需的资源,包括: 卡片素材:可以在图片素材库中找到并导入所需的卡片图片。 动画素材:动画素材可以是动画剪辑、动画曲线、粒子效果等…

    C# 2023年6月3日
    00
  • 垃圾代码二三行 ASPX小马

    攻击者可以通过嵌入”垃圾代码”来在服务器上运行恶意代码,从而达到控制服务器的目的。其中,”垃圾代码二三行 ASPX小马”是一种常见的攻击手段,本文将对其进行详细讲解。 什么是”垃圾代码二三行 ASPX小马” “垃圾代码二三行 ASPX小马”是指攻击者将一小段ASP.NET代码嵌入到页面中,通过这段代码来加载运行ASPX小马,从而达到控制服务器的目的。 攻击步…

    C# 2023年5月31日
    00
  • 浅析C#中数组,ArrayList与List对象的区别

    浅析C#中数组,ArrayList与List对象的区别 在 C# 编程语言中,数组,ArrayList 和 List 都是常用的数据结构。虽然在某些场景下它们可以互相替代,但它们之间还是存在一些区别。 数组 数组是一种固定大小的、连续的数据结构,其中可以存储相同类型的元素。在 C# 中,创建数组的方式有两种。一种是使用数组初始化器,将元素的值直接传递给数组。…

    C# 2023年5月15日
    00
  • ASP.NET Core 1.0 部署 HTTPS(.NET Core 1.0)

    ASP.NET Core 1.0 部署 HTTPS(.NET Core 1.0) 在ASP.NET Core 1.0应用程序中启用HTTPS是一种非常重要的安全措施。在本攻略中,我们将介绍如何在ASP.NET Core 1.0应用程序中启用HTTPS,并提供两个示例说明。 步骤一:生成证书 首先,需要生成一个SSL证书。可以使用以下命令生成自签名证书: op…

    C# 2023年5月17日
    00
  • 详解C#中委托,事件与回调函数讲解

    详解C#中委托,事件与回调函数讲解 1. 什么是委托? C#中的委托是一个指向方法的引用。简单来说,委托可以看作是方法的类型。通过委托,我们可以把一个方法作为参数传递给另一个方法,或者将一个方法赋值给一个委托变量。 声明和使用委托 在C#中,声明委托需要使用delegate关键字。下面是一个简单的委托声明示例: public delegate void My…

    C# 2023年6月6日
    00
  • Blazor路由与页面导航开发介绍

    Blazor路由与页面导航开发介绍 Blazor 是一个使用 C# 和 .NET 进行 Web 开发的框架,它可以在浏览器中运行,也可以在服务器上运行。在 Blazor 中,路由和页面导航是非常重要的概念,本攻略将介绍 Blazor 中的路由和页面导航开发。 Blazor 路由 Blazor 路由是指将 URL 映射到 Blazor 组件的过程。在 Blaz…

    C# 2023年5月17日
    00
  • ASP.NET页面按钮单击事件失效的解决方法

    关于“ASP.NET页面按钮单击事件失效的解决方法”,我可以提供以下攻略: 问题概述 在 ASP.NET 页面中定义了按钮控件,并绑定了单击事件,但是在执行页面操作时,按钮单击事件无法被触发,导致需要手动刷新页面才能进行下一步操作。 解决方法 在按钮控件的属性中设置 UseSubmitBehavior 为 False 当按钮控件的 UseSubmitBeha…

    C# 2023年6月3日
    00
  • C#实现语音视频录制-附demo源码

    标题:C#实现语音视频录制-附demo源码完整攻略 简介 本攻略旨在介绍如何使用C#实现语音视频录制的方法,并提供示例代码。该方法基于NAudio和AForge库,可以在Windows系统中实现对声音和视频的录制,并支持保存为MP4格式。 步骤 下载并安装NAudio和AForge库。 在项目中引用这两个库。 添加代码: private void Start…

    C# 2023年6月6日
    00
合作推广
合作推广
分享本页
返回顶部