- 博客(49)
- 收藏
- 关注
原创 设计循环队列
在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在队列前面仍有空间。链接:https://leetcode.cn/problems/design-circular-queue。// 返回 false,队列已满。enQueue(value): 向循环队列插入一个元素。// 返回 true。// 返回 true。// 返回 true。// 返回 true。MyCircularQueue(k): 构造器,设置队列长度为 k。deQueue(): 从循环队列中删除一个元素。...
2022-08-03 14:35:20 176 1
原创 decrypt-WEB-BugKuCTF
decryptWEB 题目题解提示代码结果题目密文:fR4aHWwuFCYYVydFRxMqHhhCKBseH1dbFygrRxIWJ1UYFhotFjA=提示:<?phpfunction encrypt($data,$key){ $key = md5('ISCC'); $x = 0; $len = strlen($data); $klen = strlen($key); for ($i=0; $i < $len; $i++) {
2021-10-09 18:02:42 392
原创 简单套娃MISC-Bugku
简单套娃MISC 题目分析答案题目一只美丽的水母但是……美丽是它的,跟我又有什么关系呢,我只是个瞎子 罢了分析经过查看,图片格式没问题,不是压缩包,flag不在末尾,不是lsb隐写……010打开,分析:发现存在两个jpg的格式头FFD8FFE0把第二个格式头以及之后的全部内容选中,重新保存一个图片发现和原图一样……看了提示才知道,要用stegsolver打开图片,然后用image combiner将提取出的图片和原图叠加,左右点点看,发现在SUB有了新世界!瞎眼吗……再大
2021-09-15 18:54:17 639
原创 隐写2MISC-Bugku
隐写题目分析答案题目只有一张图片分析查看详细信息并没有什么异常之处,010打开,直接搜索flag发现有一个flag.rar。应该是藏东西修改后缀rar,解压缩flag.rar 有解压密码提示:知道扑克牌应该对应的是JQK但是提示说3位数字,应该不是11,12,13然后发现……JQK键盘正上方对应的数字分别是718应该是这三位数的排列组合得出结果是871BUT……知道三位数了……那就直接写脚本爆破吧……解压得到:二话不说……上winhex/010搜索flag没有
2021-09-15 13:35:56 202 1
原创 贝斯手MISC-Bugku
贝斯手题目分析解密分析结果题目zip文件有加密分析只有图片和介绍可以看回答“又长又白又细”尝试zip密码,不是搜一下丁建国,发现扮演者是古力娜扎发现她的生日的5.2(我爱?)尝试19920502解压错误尝试1992-成功————————————何必呢何必呢……说实话我暴力破解的然后逆推答案由来解压的文件:解密分析题目名为贝斯手……密码……base?后面那一串字符看着确实像base家族的密码但是……前面的字母全是小写,后面的全是大写……前面还有一个5+58前面
2021-09-15 11:41:51 284
原创 托马斯.杰斐逊Crypto-Bugku
题目分析密钥14位,密文14位,上面的内容14行n列所以密钥和密文肯定一位对应一行内容首先是一个移位密码将14行内容按照 密钥 的顺序移动,即新的第一行–内容第二行新的第二行–内容第五行……然后是一个轮转密码,将新第一行在H以前的字符串放到最末尾‘HGVSFUWIKPBELNACZDTRXMJQOY’然后基本就解出来了过程首先取出内容:移位:轮转:得出结果:代码#比尔密码,轮转密码,移位密码def bill(): key=[2,5,1,3,6,4,9
2021-09-14 21:32:00 2343
原创 进制转换-Bugku
题目这是一个很简单的题目,只要会做进制转换即可分析直接上代码#进制转换def jinZhi(): with open("file (3).txt",'r')as f: data=f.read() data=data.split() print(data) res="" for i in range(len(data)): if data[i][0]=='d': data[i]=int(data[i][
2021-09-13 23:37:07 181
原创 告诉你个秘密-Bugku
题目分析这是一个有趣的题看到这串数字第一反应就是16进制,所以先16进制解码然后得到一串大小写混杂的字符,凭感觉是base64解码最有趣的部分来了(没见识,小白第一次见这种题得到的字符串完全看不出来啥意思……直到……看了一眼键盘……试一下答案,注意是大写就行TONGYUAN...
2021-09-13 23:24:02 126
原创 奇怪的密码Crypto-Bugku
题目密码:gndk€rlqhmtkwwp}z提示:雷电分析其实是雷池加密,凯撒密码的一种变种,以ASCII码作为偏移量,每次执行偏移后的偏移量也会随之改变一般来说密码应该是flag或bugku开头如果是bugku的话,偏移量u没超过z的话,k也不会超过,除非是随机改变偏移量或使用密钥所以先尝试flagg-f=1n-l=2……规律出来了,ASCII码每次加1python:#雷池密码(凯撒密码的变种,以ASCII码偏移def leichi(string): num=ord(
2021-09-13 17:14:14 705
原创 散乱的密文-Bugku
题目分析首先看那一串数字,并没有什么特别的规律,所以应该是一个’key‘看那一串字符,前面几个中很自然的看到可以拼接除’flag‘2:把第一位的l放到第二位1:把第二位的f放到第一位……3:把第五位的a放到第三位4:把第六位的g放到第四位……如此即可python代码:#移位密码# list=[2,1,6,5,3,4]# string="lf5{ag024c483549d7fd@@1}"def yiwei(list,string): length=len(string)
2021-09-13 14:22:32 167
原创 你喜欢下棋吗-Bugku
你喜欢下棋吗题目解密题目压缩文件需要密码解密根据提示应该是棋盘密码解密棋盘密码是一个矩阵:下标从1开始所以密文两两一组进行解密:# 棋盘密码def qiPan(): cy="4423244324433534315412244543" dic=[ ['a','b','c','d','e'], ['f','g','h','i/j','k'], ['l','m','n','o','p'], ['q','r','
2021-09-12 00:55:29 364
原创 Math&English-Bugku
Math&English-Bugku题目题解写个函数以防忘记题目提示:hint1:口语需要读出来,eg: immortal [ɪˈmɔːtl] ,读之前需要了解?hint2: https://baike.baidu.com/item/%E5%85%83%E9%9F%B3/2811?fr=aladdinhint3:小写字母,删除flagis题解根据提示是元音密码表:对照解密即可写个函数以防忘记#元音密码表def yuanYin(): cy=[21,33,1,22,
2021-09-11 23:19:18 5482
原创 cookies-Bugku CTF
一看题目cookies,首先想到的就是抓包抓包一看,emmm……毫无头绪哪不过看url:/index.php?line=&filename=a2V5cy50eHQ=”line=“空肯定是要设置一下什么参数filename的值一看就是base64加密的密文呀先解出来看看:keys.txt但是keys.txt返回值什么都看不出来……想了半天……看见那个filename可以换一下参数看看别的文件还能不能看呀,最简单的最常用的就是index.phpbase64加密:aW5kZXgucGh
2021-09-10 12:12:01 331
原创 bugku:FileStoragedat;微信dat文件的解密
刷题的时候碰见一个dat文件解密的题平时在微信的文件夹中也会碰到,但是没有关注过是什么东西后来才知道是微信传输文件时进行加密以后的文件数据查阅以后得知dat文件只是进行了简单的异或运算的加密存储,所以只需要很简单进行一次异或得到加密的密钥就可以解密这个文件常见的文件头有:由于异或运算的特殊性,a xor b=c。则:a xor c=b.所以只需要取dat文件的前两个字节与常见文件头进行异或,如果得到的两个字节相同,则这个字节就是密码了(一般微信dat文件都只是用一个字节的密钥进行加密上代码:
2021-09-03 18:18:00 1292 2
原创 嵌套列表中,求某层数的元素个数
if __name__ == '__main__': string=str(input()) length=len(string) num=[0 for i in range(length)] ceng=0 for i in range(length): if string[i]=='[': ceng+=1 elif string[i]<='9' and string[i]>='0': ..
2021-06-18 14:06:21 745
原创 C++古典密码学(替代密码、置换密码
#include<bits/stdc++.h>using namespace std;string encry(string mes,int key){//替代密码加密 string c=""; for(int i=0;i<mes.length();i++){ c+=char((mes[i]-'a'+key)%26+'a'); } return c;}string decry(string c,int key){//替代密码解密 string m=""; fo.
2021-06-02 15:10:00 2230
原创 python Arnold变换
import numpy as npimport random,cv2from PIL import Imagedef img(): image = cv2.imread('bmg.png') mat= np.array(image) r,g,b = [image[:,:,i] for i in range(3)] img_gray = r*0.299+g*0.587+b*0.114#灰度处理 image2 = Image.fromarray(img_gray)
2021-06-02 15:03:54 1539 1
原创 python词云图
from wordcloud import WordCloudimport PIL.Image as imageimport numpy as npimport jieba,cv2def wordCloud():#生成词云 with open("word.txt",encoding="utf-8") as fp: text=fp.read() text="".join(jieba.cut(text)) mask=np.array(image..
2021-05-31 17:19:19 116 1
原创 一个python爬虫的实例
import urllibimport re,xlwtfrom bs4 import BeautifulSoupimport demjson #爬虫函数def gydzf(): workbook=xlwt.Workbook() num=0 worksheet=workbook.add_sheet("爬虫数据") for k in range(1,135): url="http://stockdata.stock.hexun.com/zrbg/dat
2021-05-25 23:27:41 126
原创 python EDS加密和弱密钥验证
import mathimport numpy as npfrom pyDes import *pc1 = [56, 48, 40, 32, 24, 16, 8, 0, 57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 60,
2021-05-25 23:19:28 679 1
原创 2020-11-30
1 从键盘输入 两数, 求其小公倍数和最大公因子。2 分别以文本和二进制方式 写入 1,2,3,4,5 这些数据,并读出显示, 最后求取这些数据的平均值。3 给定一矩阵[ 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 ] 数据,将此矩阵写入文件,然后分别按行列读出并显示。4 将全班同学的数据由excel 文件读出,写入csv 文件中。 全班同学的数据由班长汇集,有学号,姓名,性别,年龄,籍贯...
2020-11-30 01:07:49 96
原创 1038 统计同成绩学生 (20分)map超时,解决方法
本题要求读入N名学生的成绩,将获得某一给定分数的学生人数输出。输入格式:输入在第 1 行给出不超过105的正整数N,即学生总人数。随后一行给出N名学生的百分制整数成绩,中间以空格分隔。最后一行给出要查询的分数个数K(不超过N的正整数),随后是K个分数,中间以空格分隔。输出格式:在一行中按查询顺序给出得分等于指定分数的学生人数,中间以空格分隔,但行末不得有多余空格。输入样例:1060 75 90 55 75 99 82 90 75 503 75...
2020-09-05 11:25:17 144 1
原创 1024 科学计数法 (20分)测试点6未通过?
1024科学计数法(20分)科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [+-][1-9].[0-9]+E[+-][0-9]+,即数字的整数部分只有 1 位,小数部分至少有 1 位,该数字及其指数部分的正负号即使对正数也必定明确给出。现以科学计数法的格式给出实数A,请编写程序按普通数字表示法输出A,并保证所有有效位都被保留。输入格式:每个输入包含 1 个测试用例,即一个以科学计数法表示的实数A。该数字的存储长度不超过 9999 字节,且其指数的绝对...
2020-09-03 22:44:22 594
原创 1010 一元多项式求导 (25分)
设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为nxn−1。)输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为0 0。输入样例:3 4 -5 2 6 1 -2 0输出样例:12 3 -10 1 6 0#include<...
2020-09-02 21:19:55 130 1
原创 1009 说反话 (20分)
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。输出格式:每个测试用例的输出占一行,输出倒序后的句子。输入样例:Hello World Here I Come输出样例:Come I Here World Hello#include...
2020-09-02 21:18:21 96
原创 1008 数组元素循环右移问题 (20分)
一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A0A1⋯AN−1)变换为(AN−M⋯AN−1A0A1⋯AN−M−1)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?输入格式:每个输入包含一个测试用例,第1行输入N(1≤N≤100)和M(≥0);第2行输入N个整数,之间用空格分隔。输出格式:在一行中输出循环右移...
2020-09-02 21:17:04 69
原创 1007 素数对猜想 (20分)
让我们定义dn为:dn=pn+1−pn,其中pi是第i个素数。显然有d1=1,且对于n>1有dn是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。现给定任意正整数N(<105),请计算不超过N的满足猜想的素数对的个数。输入格式:输入在一行给出正整数N。输出格式:在一行中输出不超过N的满足猜想的素数对的个数。输入样例:20输出样例:4#include<iostream>...
2020-09-02 21:14:00 136
原创 1004 成绩排名 (20分)
1004成绩排名(20分)读入n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。输入格式:每个测试输入包含 1 个测试用例,格式为第 1 行:正整数 n第 2 行:第 1 个学生的姓名 学号 成绩第 3 行:第 2 个学生的姓名 学号 成绩 ... ... ...第 n+1 行:第 n 个学生的姓名 学号 成绩其中姓名和学号均为不超过 10 个字符的字符串,成绩为 0 到 100 之间的一个整数,这里保证在一组测试用例中没有两个学生...
2020-09-02 21:12:24 206
原创 1012 数字分类 (20分)
给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字:A1= 能被 5 整除的数字中所有偶数的和; A2= 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算n1−n2+n3−n4⋯; A3= 被 5 除后余 2 的数字的个数; A4= 被 5 除后余 3 的数字的平均数,精确到小数点后 1 位; A5= 被 5 除后余 4 的数字中最大数字。输入格式:每个输入包含 1 个测试用例。每个测试用...
2020-09-02 21:09:32 200
原创 7-2 旅游规划 (18分)
有了一张自驾旅游路线图,你会知道城市间的高速公路长度、以及该公路要收取的过路费。现在需要你写一个程序,帮助前来咨询的游客找一条出发地和目的地之间的最短路径。如果有若干条路径都是最短的,那么需要输出最便宜的一条路径。输入格式:输入说明:输入数据的第1行给出4个正整数N、M、S、D,其中N(2≤N≤500)是城市的个数,顺便假设城市的编号为0~(N−1);M是高速公路的条数;S是出发地的城市编号;D是目的地的城市编号。随后的M行中,每行给出一条高速公路的信息,分别是:城市1、城市2、高速公路长度、收费额
2020-05-10 15:55:54 614
原创 java简易计算器
编写一个Swing,模拟实现一个可视化的简单计算器,至少提供包括加法、减法、乘法、除法等基本操作,希望能支持包括正负号、平方根、清零等其它功能import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;public cla...
2020-04-30 15:18:55 721
原创 日期和集合练习
练习使用日期和集合。编程完成一个月的日历的输出,输出格式见附件。具体要求如下:1)输入一个日期:年月日,可以输出所在月的日历,输出格式如附件图像。每次输入的结果存储到集合中;生成的结果也存储到集合中。2)输入任意两个时间(年月日)可以计算他们的差距是多少天。这些信息也存储到集合中。自行选择使用什么集合。3)输入一个日期,判断是否是国务院办公厅公布的节假日。package test02...
2020-03-27 16:00:26 218
原创 7-2 插入排序还是归并排序 (30分)
根据维基百科的定义:插入排序是迭代算法,逐一获得输入数据,逐步产生有序的输出序列。每步迭代中,算法从输入序列中取出一元素,将之插入有序序列中正确的位置。如此迭代直到全部元素有序。归并排序进行如下迭代操作:首先将原始序列看成 N 个只包含 1 个元素的有序子序列,然后每次迭代归并两个相邻的有序子序列,直到最后只剩下 1 个有序的序列。现给定原始序列和由某排序算法产生的中间序列,请你判断该...
2020-03-03 00:07:17 1383
原创 7-2 堆栈模拟队列 (25分)
设已知有两个堆栈S1和S2,请用这两个堆栈模拟出一个队列Q。所谓用堆栈模拟队列,实际上就是通过调用堆栈的下列操作函数:int IsFull(Stack S):判断堆栈S是否已满,返回1或0; int IsEmpty (Stack S ):判断堆栈S是否为空,返回1或0; void Push(Stack S, ElementType item ):将元素item压入堆栈S; Eleme...
2020-02-25 15:42:36 1346
原创 7-4 中位数 (10分)
一个有 n 个整数的数组 a,n是一个奇数。每次可以选择数组里的一个元素 ai 并把这个元素加上 1。在至多 k 次操作之后,数组的中位数最大能变成多少。输入格式:多组输入第一行两个整数 n,k(1≤n≤2×105,1≤k≤109)。第二行 n 和整数 a1,a2,......,an。输出格式:k 次操作后数组的中位数。输入样...
2020-02-23 17:06:45 1536
原创 7-1 二分查找 (20分)
输入n值(1<=n<=1000)、n个非降序排列的整数以及要查找的数x,使用二分查找算法查找x,输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。输入格式:输入共三行: 第一行是n值; 第二行是n个整数; 第三行是x值。输出格式:输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。输入样例:41 2 3 41输出样例:0...
2020-02-23 15:30:03 1020
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人