密码学实践-04
密码强度
你要揭榜的任务非常简单,内容如下。
用户输入口令后,请进行强度检测:
等级三种:强,中,弱
1、口令长度小于等于8位,并且纯小写英文或大写英文,弱
2、口令长度小于等于8位,并且有小写、大写英文和非英文字符,中
3、口令长度大于8位,并且纯小写英文或大写英文,中
4、口令长度大于8位且小于等于16位,并且有小写英文、大写英文、非英文字符中的两种,中
5、口令长度大于16位,并且有小写英文、大写英文、非英文字符中的两种,强
6、口令长度大于16位,并且有小写英文、大写英文、非英文字符中的三种,强
python代码实现,上传jupyter文件和运行截图!
奖励:
1、平时成绩+5分;
2、“CPPU数安雇佣兵团”加入条件之一,需要完美做完5个任务。
(置换加密练习、代换密码练习挑战任务也计入5个任务之一)
# 用户输入口令
password = input("请输入您的口令:")# 判断口令强度
def check_password_strength(password):if len(password) <= 8 and (password.islower() or password.isupper()):return "弱"elif len(password) <= 8 and (any(c.islower() for c in password) and any(c.isupper() for c in password) and not password.isalpha()):return "中"elif len(password) > 8 and (password.islower() or password.isupper()):return "中"elif 8 < len(password) <= 16 and ((any(c.islower() for c in password) and any(c.isupper() for c in password) and not password.isalpha()) or (not password.isalpha() and not password.isnumeric())):return "中"elif len(password) > 16 and ((any(c.islower() for c in password) and any(c.isupper() for c in password) and not password.isalpha()) or (not password.isalpha() and not password.isnumeric())) and any(not c.isalnum() for c in password):return "强"elif len(password) > 16 and any(c.islower() for c in password) and any(c.isupper() for c in password) and any(not c.isalnum() for c in password):return "强"else:return "弱"# 输出口令强度
print("您输入的口令强度为:", check_password_strength(password))
对文件名进行识别并分类
你要揭榜的任务非常比较简单:
1、找一堆文件,比如1000个,要求对文件名进行识别并分类:公开类、内部、涉密类。
识别规则请自己定义,Python代码实现。
2、找一个文件excel或者csv,里边的数据有很多行很多列,要求对数据列的列名(即属性)进行识别并分级:1级、2级、3级、4级...等。
识别规则请自己定义,Python代码实现。
3、敏感数据识别:识别规则请自己定义,Python代码实现。
文件分类任务
对于文件名的分类,我将使用正则表达式进行识别。假设公开类的文件名以 public_
开头,内部的文件名以 internal_
开头,涉密类的文件名以 confidencial_
开头。
re.IGNORECASE
是一个标志(flag),用于指示在正则表达式匹配过程中忽略大小写。当您使用这个标志时,正则表达式将被视为不区分大小写的,因此它可以匹配任何大小写组合的文本。os.listdir()
是一个Python函数,它返回指定路径下的所有文件和子目录的名称列表。如果您没有提供任何参数,则默认将当前工作目录用作路径。- 我们将
encoding
参数设置为 'gbk',表示以该字符编码格式读取文件。这可以帮助 Python 正确处理文本文件中的 Unicode 字符。
例如,在以下示例代码中,我们列出了当前工作目录中的所有文件:
#文件分类
import os
import repath = 'path/to/files'# 这里需要填写您存储文件的路径
public_regex = re.compile(r'^public_', re.IGNORECASE)
internal_regex = re.compile(r'^internal_', re.IGNORECASE)
confidential_regex = re.compile(r'^confidential_', re.IGNORECASE)for filename in os.listdir(path):if public_regex.search(filename):# 分类为公开类print(f"Filename '{filename}' is classified as public.")elif internal_regex.search(filename):# 分类为内部类print(f"Filename '{filename}' is classified as internal.")elif confidential_regex.search(filename):# 分类为涉密类print(f"Filename '{filename}' is classified as confidential.")else:# 没有匹配到任何规则print(f"Cannot classify filename '{filename}'.")
在这个脚本中,我们首先指定了文件路径并定义了三个正则表达式模式,用于匹配公开类、内部类和涉密类文件的文件名。然后,我们遍历了给定路径下的所有文件,并使用 search()
函数来检查文件名是否符合任何一个模式。
运行脚本后,它会打印每个文件名的分类结果。
2.数据列属性分类任务
对于数据列的列名识别和分类,我将使用 Pandas 库进行处理。假设属性名中包含根据敏感程度标记的字符串元素并使用方括号括起来。例如: [1]Name
表示一级属性 "Name"。下面是相应的 Python 代码:
import pandas as pddf = pd.read_csv(path,encoding=gbk)
with open('example.txt', 'r', encoding='gbk') as f:data = f.read()level_regexes = [re.compile(f'^\[{level}\].+$', re.IGNORECASE) for level inrange(1, 5)]for col in df.columns:for i, pattern inenumerate(level_regexes):if pattern.match(col):print(f"Column '{col}' is classified as level {i + 1}.")breakelse:# 如果没有匹配到任何规则print(f"Cannot classify column '{col}'.")
此脚本会读取给定路径中的数据文件,并遍历所有列名以查找包含不同等级标记的列名。我们使用一个包含四个正则表达式模式的列表,分别用于匹配四个不同级别的列名。每当找到一个匹配项时,我们就输出其对应的级别。
运行脚本后,它将逐个打印所有列名及其分类结果。如果无法与任何模式匹配,则会打印分类错误消息。
3.敏感数据识别任务
对于敏感数据的识别,规则可以根据应用情况和具体需求进行定义。以下是一些常见的规则:、
- 身份证号码 - 包含 18 个数字的字符串。
- 银行卡号码 - 包含 16 到 19 个数字的字符串。
- 手机号码 - 包含 11 个数字的字符串。
- 邮箱地址 - 包含 "@" 字符,后跟域名。
我们可以使用正则表达式来识别这些敏感信息。下面是一个示例脚本,演示如何查找文本文件中的银行卡号码:
import re# 打开文件并读入文本内容
with open('data.txt', 'r') as f:contents = f.read()# 定义一些敏感数据的规则(示例)
patterns = [r'\b(身份证|银行卡号)\b([^\d]*\d{4}\s?){3}', # 身份证或银行卡号r'\b(手机号|电话号码)\b\s*\+?\d+(\s|\-|\.)?\d+', # 手机号或电话号码r'([\w\.\-\+]+@[a-zA-Z\d\-]+\.[a-zA-Z]{2,}(?:\.[a-zA-Z]{2})?)' # 邮箱地址
]# 检查文本内容中是否包含敏感数据
sensitive_data = []for pattern in patterns:matches = re.findall(pattern, contents, flags=re.IGNORECASE)if len(matches) > 0:sensitive_data.extend(matches)if len(sensitive_data) > 0:print('敏感数据如下:')for data in sensitive_data:print('- ' + data)
else:print('未发现敏感数据')xx
import repath = 'path/to/textfile'# 这里需要填写您存储文本文件的路径
card_regex = re.compile(r'\b[0-9]{16,19}\b')withopen(path, 'r') as file:data = file.read()matches = card_regex.findall(data)
formatchin matches:print(f"Found bank card number: {match}.")
在此脚本中,我们使用类似于之前的模式匹配,并使用 findall()
函数来遍历给定文本中的所有可能的匹配项。如果找到任何匹配项,则将其打印出来。
请注意,针对其他类型的敏感信息,您可能需要编写不同的正则表达式模式,并根据需要修改代码。
隐私huan
什么是隐私獾?
隐私獾是一个浏览器扩展程序,它可以阻止广告商和其他第三方跟踪器秘密跟踪您去哪里,以及您在网上看什么网页。 如果一个广告商似乎在未经您允许的情况下在多个网站上跟踪您,隐私獾会自动阻止该广告商在您的浏览器中加载更多内容。 对广告商来说,您就像突然消失了一样。
相关文章:
密码学实践-04
密码强度 你要揭榜的任务非常简单,内容如下。 用户输入口令后,请进行强度检测: 等级三种:强,中,弱 1、口令长度小于等于8位,并且纯小写英文或大写英文,弱 2、口令长度小于等于8位&am…...
SpringBoot整合swagger实现接口管理并设置加密访问
pom.xml pom.xml文件加入swagger <dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version></dependency><dependency><groupId>com.github.xiaoymin&l…...
C语言单例模式-实现高性能日志管理器
C语言单例模式-实现高性能日志管理器 代码中,使用了单例模式来创建日志管理器对象,保证了整个程序中只有一个日志管理器对象。 日志管理器中包含了日志文件指针、日志级别、互斥锁等成员,通过这些成员来实现日志的写入和级别控制。 在主函数…...

Flutter - flutter项目添加 Web 支持
demo 地址: https://github.com/iotjin/jh_flutter_demo 代码不定时更新,请前往github查看最新代码 参考: 官方:构建 Flutter Web 应用 Flutter Desktop Support flutter项目添加 Web 支持 在项目的根目录下运行:flutter create …...

关键词数据分析-搜索词和关键词分析工具
要搜索热门关键词获取,可以采用以下几种方法: 使用百度指数:百度指数是一个实用的工具,可用于查看关键词的热度趋势、搜索量等数据。在百度指数中,您可以输入您要搜索的关键词,并查看近期的相关数据。这可以…...

SpringCloud微服务技术栈之网关服务Gateway
文章目录SpringCloud微服务技术栈之网关服务Gateway前言网关服务Gateway的基本概念Gateway的体系结构Gateway的主要功能网关服务Gateway的架构设计架构设计方案示例代码网关服务Gateway的实践操作1. 创建工程2. 配置路由规则3. 实现过滤器4. 集成服务注册中心5. 启动网关服务器…...

什么原因导致了儿童自闭症?跟父母养育有关吗?
导致儿童自闭症的原因是什么?这和父母的抚养有关吗?学习教育孩子的方法,让孩子快乐健康地成长,是家庭和孩子生活中的一件重要事情。不良的环境和错误的教育会导致儿童自闭症,这是真的吗?自闭症,…...

抽象轻松web
不断学习,不断进步,才能不被替代 只有你的不可被替代性才是价值所在 千变万化的叶子 根只有一个 ----2023年4月7日 弹性盒布局的作用其实是定位 我们设置弹性盒子的时候目的是为了让元素放在页面中的某个位置,从而达到布局的效果 定位的本质…...
如何获取系统下目录的文件系统类型
最近看到一个问题,如何获取当前系统的文件类型? 这个时候就要介绍下/proc/mounts文件:这个文件以/etc/mtab文件的格式给出当前系统所安装的文件系统信息。同时也能反映出任何手工安装从而在/etc/mtab文件中没有包含的文件系统。 我们可以通…...

【Linux】GCC编译器的使用
目录 前言: 一、GCC编译过程 1.预处理: 2.编译 3.汇编 4.链接 二、制作、使用动态库和静态库 1.静态库 2.动态库 三、好用的选项 1.gcc -E main.c 2.gcc -E -dM main.c > 1.txt 3.gcc -Wp,-MD,abc.dep -c -o main.o main.c 4.echo main(){}| …...
浅谈一下socks5协议原理详解与应用场景分析
SOCKS5协议是一种网络传输协议,主要用于代理服务器和客户端之间的通信。它能够通过认证授权等多种方式,提供安全可靠的代理服务,适用于各种应用场景。 SOCKS5协议原理: 1.连接建立:客户端向代理服务器发送连接请求&…...
java面试准备17
事务的四大特性 (1)原子性:事务执行的最小单位,不可被分割,事务的原子性保证事务中的一连串动作要么都执行,要么都不执行。 (2)一致性:执行事务前后的数据保持一致&…...
ffmpeg的滤镜
FFmpeg 是一款开源的跨平台音视频处理工具,它提供了众多功能强大的滤镜用于视频/音频的加工处理。其中,滤镜(Filter)是 FFmpeg 中一个十分重要且常用的组件,它们可以实现对视频和音频的各种操作和变化,如转码、编解码、剪裁、裁剪…...
springboot项目感受03
继续上文 01.数据的部分已经完成了,此时需要考虑到前端与用户交互的部分,这里就需要网页html,服务器响应servlet。 网页的部分,html文件放在resource目录下的template文件中,servlet变成了controller包,其…...

notion插件:为你的工作流带来新生
在本文中,我们将介绍Notion的几款有助于提高生产力的插件。这些插件将加强Notion的功能,并为你的工作流程带来更多的便利。 我们特地为你准备了这本漫游指南:收录各种工具、信息和资源,携你共同探索浩瀚美丽的互联网海洋。 snackt…...

【python】Jupyter的使用(python代码编辑器)
文章目录一、Jupyter的介绍1、Jupyter是什么?2、Jupyter有什么独特之处?二、Jupyter的安装1、首先要下载python2、用pip命令下载Jupyter三、Jupyter的使用1、运行Jupyter2、简要介绍Jupyter的使用方法3、快捷键的使用四、总结一、Jupyter的介绍 1、Jupy…...

面试官:你做过什么有亮点的项目吗?
前言 面试中除了问常见的算法网络基础,和一些八股文手写体之外,经常出现的一个问题就是,你做过什么项目吗? 面试官其实是想看看你做过什么有亮点的项目, 其实大家日常做的项目都差不多,增删改查,登录注册&…...
【华为OD机试真题】猜字谜(javapython)
猜字谜 时间限制:1s空间限制:256MB 限定浯言:不限 题目描述: 小王设计了一个简单的猜字谜游戏,游戏的谜面是一个错误的单词,比如nesw,玩 家需要猜出谜底库中正确的单词。猜中的要求如下: 对于某个谜面和谜底单词,满足下面任一条件都表示猜中: 变换顺序以后一样的,…...

制作真人手办有哪些不便?怎么解决?
相信很多朋友都喜欢拍摄写真,比如孩子生日的时候,结婚纪念的时候,写真照片能留存住很多美好的记忆。 不过随着科技的发展,大家已经不能满足只靠照片来记录生活了,越来越多的人开始盯上了手办这件物品。将真人的照片和…...

网络安全行业现在好混吗,工资水平怎么样?
前段时间看到有人私信:网络安全行业现在好混吗,工资水平怎么样?今天在这里做个回答,不知你所说的“好混吗”指的是什么? 薪资高,待遇好?不加班,活儿少?不受气࿰…...
挑战杯推荐项目
“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 - 个性化梦境…...

【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...
2024年赣州旅游投资集团社会招聘笔试真
2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...

React19源码系列之 事件插件系统
事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

Cinnamon修改面板小工具图标
Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...
【HTTP三个基础问题】
面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...
jmeter聚合报告中参数详解
sample、average、min、max、90%line、95%line,99%line、Error错误率、吞吐量Thoughput、KB/sec每秒传输的数据量 sample(样本数) 表示测试中发送的请求数量,即测试执行了多少次请求。 单位,以个或者次数表示。 示例:…...

day36-多路IO复用
一、基本概念 (服务器多客户端模型) 定义:单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用:应用程序通常需要处理来自多条事件流中的事件,比如我现在用的电脑,需要同时处理键盘鼠标…...

【LeetCode】算法详解#6 ---除自身以外数组的乘积
1.题目介绍 给定一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O…...