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日

相关文章

  • C#泛型集合类型实现添加和遍历

    下面是一份详细的攻略,分别讲解了C#泛型集合类型的添加和遍历。 添加元素到集合 List泛型列表 List 是 C# 中常见的泛型类型之一,其中的元素是可以重复的,可以方便的进行元素添加和删除操作。 //创建一个string类型的List泛型列表 List<string> list = new List<string>(); //使用…

    C# 2023年6月6日
    00
  • UGUI ScrollRect滑动定位优化详解

    UGUI ScrollRect滑动定位优化详解 前言 UGUI ScrollRect是Unity提供的一个用于制作滚动效果的UI组件,使用它可以比较方便地实现高效的滚动效果。但是在实际使用中,我们可能会遇到滑动定位的问题,即当我们滑动到一个特定位置后,需要把这个位置对应的item定位到屏幕中央或者其他位置。这时候,我们就需要对ScrollRect进行优化。 …

    C# 2023年6月3日
    00
  • C#难点逐个击破(7):checked与unchecked

    C#难点逐个击破(7):checked与unchecked checked与unchecked的作用 C#中对于数值类型的运算,当结果超出该类型所能存储的范围时,会发生溢出。而C#提供了checked和unchecked关键字来控制这种情况的处理。 checked关键字用于指示将溢出检测应用于所在作用域内的整个表达式。 unchecked关键字用于禁用溢出检…

    C# 2023年6月6日
    00
  • C#中实现在32位、64位系统下自动切换不同的SQLite dll文件

    实现在32位、64位系统下自动切换不同的SQLite dll文件,需要做以下几个步骤: 导入SQLite.Interop.dll文件 在C#项目中使用SQLite时,需要引入SQLite.Interop.dll文件,该文件是SQLite官方提供的用于自动切换32位、64位dll文件的库文件。在VS中创建C#项目后,可以直接从NuGet中搜索SQLite.In…

    C# 2023年6月7日
    00
  • asp.net获取服务器基本信息的方法代码

    当在开发ASP.NET应用程序时,我们经常需要获取服务器的基本信息,例如操作系统版本、处理器等。下面我将详细讲解如何通过代码获取这些信息。 获取操作系统版本以及平台信息 我们可以通过System.Environment类中的OSVersion和ProcessorCount属性来获取服务器的操作系统版本信息和处理器的数量。具体代码如下: using Syste…

    C# 2023年5月31日
    00
  • C#使用Newtonsoft.Json中的JObject对象

    当我们需要在C#应用程序中处理JSON数据时,可以使用Newtonsoft.Json库。该库提供了许多用于处理JSON数据的类和方法,其中一个非常有用的类是JObject。 JObject类表示一个JSON对象,它的属性通常是一个或多个JToken对象。以下是使用JObject操作JSON数据的完整攻略。 步骤1:导入Newtonsoft.Json库 首先,…

    C# 2023年5月31日
    00
  • wpf RelativeSource绑定

    RelativeSource有四种类型 Self FindAncestor TemplatedParent PreviousData   a.Self Self用于绑定源和绑定目标相同的场景中。对象的一个属性与同一对象的另一个属性绑定。 例如,让我们取一个高度和宽度相同的椭圆。在XAML文件中添加下面给出的代码。宽度属性与高度属性相对绑定。 <Grid…

    C# 2023年4月18日
    00
  • c#学习之30分钟学会XAML

    C#学习之30分钟学会XAML XAML是一种用于创建UI(用户界面)的标记语言,它是WPF(Windows Presentation Foundation)框架的一部分。通过使用XAML,你可以将应用程序的外观和交互逻辑与应用程序的代码分离开来,这可以提高应用程序的可维护性和可扩展性。在本文中,我们将介绍XAML的基础知识,并演示如何使用XAML创建一个简…

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