密码学实践-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,玩 家需要猜出谜底库中正确的单词。猜中的要求如下: 对于某个谜面和谜底单词,满足下面任一条件都表示猜中: 变换顺序以后一样的,…...
制作真人手办有哪些不便?怎么解决?
相信很多朋友都喜欢拍摄写真,比如孩子生日的时候,结婚纪念的时候,写真照片能留存住很多美好的记忆。 不过随着科技的发展,大家已经不能满足只靠照片来记录生活了,越来越多的人开始盯上了手办这件物品。将真人的照片和…...
网络安全行业现在好混吗,工资水平怎么样?
前段时间看到有人私信:网络安全行业现在好混吗,工资水平怎么样?今天在这里做个回答,不知你所说的“好混吗”指的是什么? 薪资高,待遇好?不加班,活儿少?不受气࿰…...
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...
C++:多态机制详解
目录 一. 多态的概念 1.静态多态(编译时多态) 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1).协变 2).析构函数的重写 5.override 和 final关键字 1&#…...
