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

news2024/11/18 3:40:43

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

 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.coloradmin.cn/o/682061.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java经典面试题包含答案

文章目录 1.Java语言有哪些特点?2.面向对象和面向过程的区别?3.八种数据类型大小、封装类4.instanceof关键字的作用5.Java自动装箱与拆箱6. 重载与重写的区别7. 与 equals的区别8.hashCode的作用9. JVM vs JDK vs JRE10.什么是字节码?采用字节码的好处…

【MySql】RR 与 RC的本质区别

文章目录 当前读与快照读两个场景RR 与 RC的本质区别 本篇博客介绍的是RR与RC的本质区别,话不读说,直接进入主题即可。 当前读与快照读 select * from user lock in share mode ,以加共享锁方式进行读取,对应的就是当前读 不加lock in share…

【EXCEL】快速填充数据,批量提取与组合数据

目录 0.环境 1.简要介绍功能 2.具体实际应用 1)提取括号中的内容 2)拆分重组--重组“姓”和“职位” 3)数据拆分 0.环境 windows office2021 注意:此功能可能需excel 2013版本及以上使用 1.简要介绍功能 在excel中&#xf…

flink datastream api实现数据实时写入hudi

Apache Hudi(发音为“hoodie”)是下一代流数据湖平台。 Apache Hudi 将核心仓库和数据库功能直接引入数据湖。 Hudi 提供表、事务、高效的更新插入/删除、高级索引、流式摄取服务、数据集群/压缩优化和并发性,同时将您的数据保持为开源文件格…

项目经理一直盲目跟风的PMP认证,到底还剩多少含金量?

早上好,我是老原。 到底有没有必要考证? 到底考啥证? PMP?软考?还是NPDP? …… 这是老原的粉丝们亘古不变的话题。 我这有不少朋友就是这样,前两年就在问我要不要考证,直到现在…

为什么你的手机号需要二次实名,这几个原因你想过没有?

尊敬的客户:您的手机卡存在安全风险,为保护您的权益,您的电话呼出、短信和流量使用功能被限制。请机主本人使用被保护的手机号码登录网页链接 进行实名核验,核验通过后,将自动恢复正常通信服务。如核验未通过&#xff…

vite构建工具初识

一、什么是vite vite官网地址:https://cn.vitejs.dev/ Vite 是一个由 Vue.js 作者尤雨溪开发的新一代前端构建工具,它相比于传统的 webpack,具有更快的启动速度、更高的开发效率和更简洁的配置方式。 Vite的主要特点包括: 快速…

2023年上海/广州/深圳DAMA-CDGA/CDGP数据治理认证班

DAMA认证为数据管理专业人士提供职业目标晋升规划,彰显了职业发展里程碑及发展阶梯定义,帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力,促进开展工作实践应用及实际问题解决,形成企业所需的新数字经济下的核心职业…

Java 设计模式实战系列—策略模式

从优惠打折活动说起 电商平台为了增加销量经常搞一些活动,比如 618、双十一,还有一些节假日活动,根据销量的变化又经常更新不同的活动。最开始为了增加销量,全场都六折: // 打六折 public BigDecimal sixDiscount(Bi…

Spring Cloud 之注册中心 Eureka 精讲

🍓 简介:java系列技术分享(👉持续更新中…🔥) 🍓 初衷:一起学习、一起进步、坚持不懈 🍓 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正🙏 🍓 希望这篇文章对你有所帮助,欢…

【单周期CPU】LoongArch | 立即数扩展模块Ext | 32位算术逻辑运算单元(ALU)

前言:本章内容主要是演示在vivado下利用Verilog语言进行单周期简易CPU的设计。一步一步自己实现模型机的设计。本章先介绍单周期简易CPU中基本组合逻辑部件的设计。 💻环境:一台内存4GB以上,装有64位Windows操作系统和Vivado 201…

HarmonyOS学习路之开发篇—AI功能开发(文档检测校正)

基本概念 文档校正提供了文档翻拍过程的辅助增强功能,包含两个子功能: 文档检测:能够自动识别图片中的文档,返回文档在原图中的位置信息。这里的文档泛指外形方正的事物,比如书本、相片、画框等。文档校正&#xff1a…

java中如何实现字符串反转

java中如何实现字符串反转 方式1:通过创建StringBuilder或StringBuffer对象,并使用其reverse()方法实现字符串的反转 上代码: /*** 给定一个字符串,通过创建SpringBuilder对象的方式将字符串进行反转* return*/public static …

cadence从原理图到pcb

完成原理图设计后,需要进行如下步骤才能开始画PCB: 原理图规制检测(DRC)生成网表新建PCB文件,设置封装路径导入网表设置原点和栅格绘制PCB板框将器件导入PCB 原理图规制检测(DRC) 选中原理图文件,运行Tools->Design Rules C…

synchronized锁升级详细过程

目录 一、锁升级基础 1)偏向锁 2)轻量级锁(自旋锁) 3)重量级锁 二、为什么要有锁升级过程? 1)减少无竞争情况下的同步操作开销 2)尽量避免线程切换的开销 3)降低…

MySQL 数据库

文章目录 数据库的基本概念数据表数据库数据库管理系统数据库系统 数据库的发展史当今主流数据库介绍SQL Server (微软公司产品)Oracle (甲骨文公司产品)DB2 (IBM公司产品)MySQL (甲骨文公司收购…

语法篇·Servlet基础

一、初识Servlet 1.1简介 Servlet是一种使用Java语言来开发动态网站的技术。Servlet是运行在Web服务器或应用服务器上的程序,它是作为来自Web浏览器或其他HTTP客户端的请求和HTTP服务器上的数据库或应用程序之间的中间层。Servlet可以收集来自网页表单的用户输入&a…

上位机与两台PLC之间无线以太网通信

本文以组态王和2台三菱FX5u PLC为例,介绍组态王与多台 PLC的无线以太网通信实现过程。在本方案中采用了三菱PLC无线通讯终端DTD419MB,作为实现无线通讯的硬件设备。 在这一无线以太网通讯系统的搭建中,用户无需更改网络参数和原有程序&#…

Java版本的工程项目管理系统源代码之工程项目管理系统面临的挑战 spring cloud +支持二开

管理方式 项目管理服务(PM) 是指工程项目管理企业按照合同约定,在工程项目决策阶段,为业主编制可行性研究报告,进行可行性分析和项目策划;在工程项目实施阶段,为业主提供招标代理、设计管理、采…

为什么个人项目我更推荐使用Caddy?

为什么个人项目我更推荐使用Caddy? 为什么个人项目我更推荐使用Caddy? 前言什么是Caddy?Caddy是够用且省心的简单的配置自动化 https结尾参考链接 前言 最近我把自己一些项目里面的 nginx 换成了 caddy,运转相当良好,比较开心,所以写了…