小鱼C python - 集合的练习(去重、解密)

news/2024/10/18 7:54:09/

题一:用字典实现集合的去重特性 

 1. 生成100个1~100的随机值

思路:
1. range 范围
2. random.randint(a,b)

import random
x = []
for I in range(100):x.append(random.randint(1,100))
print(x)

2. x和y的交集

思路:
1.遍历x,并且该值必须也在y中
2.创建z的字典,并且用dict.fromkeys()添加该值。该参数必须是可迭代对象(所以可以用列表存放)

inter ={}
z = []
for each in x:if each in y: z.append(each)
inter = dict.fromkeys(z)

整体代码(用列表推导式,简洁)

import random
x = [random.randint(1,100) for i in range(100)]
y = [random.randint(50,100) for i in range(100)]
inter = dict.fromkeys([z for z in x if z in y])
print(list(inter.keys()))

题二:破解用哈希值加密过的密码

思路:
1.存放所有字符转的哈希值
2.然后用字典的映射特性 一一对应查找

字符串转为哈希值的方法

import hashlib
result = hashlib.md5() //参数为b字符串
bstr = bytes("字符串","utf-8") //可以利用bytes 把字符串转为 b字符串
输出 result.hexdigest

解密以下三个哈希值

021bbc7ee20b71134d53e20206bd6feb
e10adc3949ba59abbe56e057f20f883e
655d03ed12927aada3d5bd1f90f06eb7 

import hashlib
# 创建一个字典,因为要破解的是hash 转为明文  所以键为哈希值,值为对应的整数
hash_dict = {}
for i in range(1000000):#bytes(参数需要转为字符串,"utf-8")bstr = bytes(str(i),"utf-8")s = hashlib.md5(bstr).hexdigest()hash_dict[s] = i
s1 = "021bbc7ee20b71134d53e20206bd6feb"
s2 = "e10adc3949ba59abbe56e057f20f883e"
print(f"{s1}的明文值为:",{hash_dict[s1]})
print(f"{s2}的明文值为:",{hash_dict[s2]})

输出:


http://www.ppmy.cn/news/563005.html

相关文章

给自己做百度百科词条需要花多少钱?百科词条花钱就一定能做上去吗?

给自己做一个百度百科词条到底需要花多少钱,是否花钱了百度百科词条就一定能做上去,相信这是很多人心里都有的疑问。实际上做百度百科词条不一定需要花钱,花钱也不是一定就能做上去,至于花钱的,那则是利用专业的人士&a…

数据分析第一步--数据采集怎么进行埋点?

产品经理无论是在进行需求澄清,还是进行产品版本迭代的时候,都会面对领导,研发,测试,设计等人员无数个为什么。比如:为什么要把这个楼层放在另一个楼层的上面?页面为什么要这么设计? 这个时候如果仅仅凭感觉、道理是无法有力说服对方的,长而久之会降低自己的影响力。…

计算机底层第一课,早学早受益

对一个程序员来说,计算机组成原理、数据结构、算法、操作系统等几个课程,是必备的基础知识,位列在各大学计算机系培养计划的核心课程里。 其中,“计算机组成原理”更是入门和底层知识的第一课。 为什么这么说?想象一下…

mysql表关系一对一_MySQL表关系实例讲解(一对一、一对多)

表与表之间的关系 表1 foreign key 表2 则表1的多条记录对应表2的一条记录,即多对一 利用foreign key的原理我们可以制作两张表的多对多,一对一关系 多对多: 表1的多条记录可以对应表2的一条记录 表2的多条记录也可以对应表1的一条记录 一对一: 表1的一条记录唯一对应表2的…

最强新一代消息系统,没有之一,不接受反驳!

提起成熟的消息队列,毋庸置疑,大多数人的第一反应一定是 Kafka。 Kafka 作为一款明星级产品,能够彻底满足海量数据场景下高吞吐、高并发需求,在短短几年内,已经被阿里、腾讯、百度、字节跳动、Netflix、Twitter 等超一…

DBA一族九阳神功秘籍

标签 PostgreSQL , 节假日巡检 , 监控 , 闪回 , flash back query , trigger , event trigger , 回收站 , recycle bin , pgtranshcan , hook , _PG_init , 事件触发器 , 审计 , 跟踪 , 逻辑复制 , DDL逻辑复制 , UDR , BDR , 数据库安全 背景 如果你是数据库这个行业的朋友&am…

harmonyos2.0三大技术特点,华为开发者大会HarmonyOS 2.0正式发布三大方面全新升级...

【环球网智能报道 记者 张阳】9月10日,HDC.Together华为开发者大会2020正式在华为东莞松山湖基地拉开帷幕,华为如期为消费者带来了众多软件创新,其中最受期待的莫过于华为鸿蒙HarmonyOS 2.0的正式发布。 HarmonyOS在去年华为开发者大会上首次…

mysql外键的三种关系_mysql外键的三种关系实例详解

本文实例讲述了mysql外键的三种关系。分享给大家供大家参考,具体如下: 因为有foreign key的约束,使得两张表形成了三种了关系: 多对一 多对多 一对一 一对多或多对一 多对一 create table press( id int primary key auto_increme…