python
Alasding
这个作者很懒,什么都没留下…
展开
-
设计循环队列
在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在队列前面仍有空间。链接:https://leetcode.cn/problems/design-circular-queue。// 返回 false,队列已满。enQueue(value): 向循环队列插入一个元素。// 返回 true。// 返回 true。// 返回 true。// 返回 true。MyCircularQueue(k): 构造器,设置队列长度为 k。deQueue(): 从循环队列中删除一个元素。...原创 2022-08-03 14:35:20 · 159 阅读 · 1 评论 -
Z 字形变换
leecode Z字形变换原创 2022-07-17 11:33:52 · 122 阅读 · 0 评论 -
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 · 379 阅读 · 0 评论 -
托马斯.杰斐逊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 · 1944 阅读 · 0 评论 -
进制转换-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 · 175 阅读 · 0 评论 -
奇怪的密码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 · 572 阅读 · 0 评论 -
散乱的密文-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 · 151 阅读 · 0 评论 -
你喜欢下棋吗-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 · 339 阅读 · 0 评论 -
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 · 5461 阅读 · 0 评论 -
bugku:FileStoragedat;微信dat文件的解密
刷题的时候碰见一个dat文件解密的题平时在微信的文件夹中也会碰到,但是没有关注过是什么东西后来才知道是微信传输文件时进行加密以后的文件数据查阅以后得知dat文件只是进行了简单的异或运算的加密存储,所以只需要很简单进行一次异或得到加密的密钥就可以解密这个文件常见的文件头有:由于异或运算的特殊性,a xor b=c。则:a xor c=b.所以只需要取dat文件的前两个字节与常见文件头进行异或,如果得到的两个字节相同,则这个字节就是密码了(一般微信dat文件都只是用一个字节的密钥进行加密上代码:原创 2021-09-03 18:18:00 · 1249 阅读 · 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 · 724 阅读 · 0 评论 -
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 · 1499 阅读 · 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 · 109 阅读 · 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 · 118 阅读 · 0 评论 -
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 · 645 阅读 · 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 · 87 阅读 · 0 评论