检测密码安全强度 和 凯撒加密

检测密码安全强度

按照含有数字,小写字母,大写字母,指定标点符号的种类,把安全强度分为强密码,中高,中低,弱密码.
编写程序,输入一个字符串,输出该字符串作为密码时的安全强度

from string import digits, ascii_lowercase, ascii_uppercasedef check(pwd):# 密码必须至少包含6个字符if not isinstance(pwd, str) or len(pwd) < 6:return 'not suitable for password'# 密码强度等级与包含字符种类的对应关系d = {1: 'weak',2: 'below middle',3: 'above middle',4: 'strong'}# 数字, 小写字母, 大写字母和指定的标点符号r = [False] * 4for ch in pwd:# 是否包含数字if not r[0] and ch in digits:r[0] = True# 是否包含小写字母elif not r[1] and ch in ascii_lowercase:r[1] = True# 是否包含大写字母elif not r[2] and ch in ascii_uppercase:r[2] = True# 是否包含指定的标点符号elif not r[3] and ch in ',.!;?<>':r[3] = True# 统计包含的字符种类,返回密码强度return d.get(r.count(True), 'error')

凯撒加密

把字符串中每个英文字母替换成该字母在字母表中后面第k个字母,如果后面k个字符超过字母表的范围,则把字母表首尾相接,也就是字母Z的下一个字母是A,字母z下一个字母是a.

要求大写字母加密后仍为大写字母,小写字母加密后仍为小写字母.
编写程序,输入一个字符串作为待加密的明文,然后输入一个整数作为凯撒加密的密钥,最后输出该字符串使用该密钥加密后的结果

import stringdef kaisa(s, k):lower = string.ascii_lowercaseupper = string.ascii_uppercasebefore = string.ascii_lettersafter = lower[k:] + lower[:k] + upper[k:] + upper[:k]table = ''.maketrans(before, after)return s.translate(table)s = input('请输入一个字符串:')
k = int(input('请输入一个整数秘钥:'))
print(kaisa(s, k))
  • 字符串对象的maketrans()方法用来生成字符映射表.若输入2个参数,则二者必须为长度相等且一一对应的字符串,该方法输出一个字典, 其中 第一个参数 中每个字符将被映射为 第二个参数 中相同位置的字符
  • 而translate()方法用来根据映射表中定义的对应关系转换字符串并替换其中的字符
  • 可以使用这两个方法的组合同时处理多个字符
x = 'ac'
y = 'hi'
print(''.maketrans(x, y))

在这里插入图片描述
这些数字是字母对应的Unicode 码位序号

table = ''.maketrans('ac', 'hi')
s = 'abcdaecf'
print(s.translate(table))

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/108785.shtml

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

相关文章

6、docker下mysql修改配置文件

1、查看mysql镜像 如果没有mysql镜像则下载 docker images |grep mysql 2、查看mysql容器 docker ps |grep mysql 如果没有显示mysql容器信息&#xff0c;则创建 3、创建容器 docker run -it --name mysql-test -e MYSQL_ROOT_PASSWORDroot -p 3306:3306 -d f9653 4、在…

uni-app--》基于小程序开发的电商平台项目实战(六)

&#x1f3cd;️作者简介&#xff1a;大家好&#xff0c;我是亦世凡华、渴望知识储备自己的一名在校大学生 &#x1f6f5;个人主页&#xff1a;亦世凡华、 &#x1f6fa;系列专栏&#xff1a;uni-app &#x1f6b2;座右铭&#xff1a;人生亦可燃烧&#xff0c;亦可腐败&#xf…

前端食堂技术周刊第 100 期:TS 5.3 Beta、ViteConf2023、Rspress 1.0、Fresh 1.5、Chrome 118

美味值&#xff1a;&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f; 口味&#xff1a;乌龙金桂 食堂技术周刊仓库地址&#xff1a;https://github.com/Geekhyt/weekly 大家好&#xff0c;我是童欧巴。欢迎来到前端食堂技术周刊&#xff0c;我们先来看下…

springBoot实现发布订阅

应用场景&#xff1a; 在开发中&#xff0c;有时需要监听某些事件&#xff0c;在事件触发时&#xff0c;执行相应的逻辑。 也可以说是基于事件驱动的观察者模式。 比如当点击某个按钮时&#xff0c;触发相应的功能&#xff0c;或者用户下单通知等等。 SpringBoot 可以通过 …

Leetcode 2906. Construct Product Matrix

Leetcode 2906. Construct Product Matrix 1. 解题思路2. 代码实现 题目链接&#xff1a;2906. Construct Product Matrix 1. 解题思路 这道题其实算是一道数论题。 本来其实python的pow内置函数已经帮我们基本处理了所有的问题了&#xff0c;但是这里稍微做了一点复杂化操…

《Node.js+Express+MongoDB+Vue.js全栈开发实战》简介

今天介绍的这本书是《Node.jsExpressMongoDBVue.js全栈开发实战》。该书由清华大学出版社于2023年1月出版 外观 从书名故名思议&#xff0c;就是基于Node.jsExpressMongoDBVue.js来实现企业级应用全栈开发。 封面风格比较简约&#xff0c;插图是一张类似于罗马时代战车形象&…

Leetcode刷题详解——找到字符串中所有字母异位词

1. 题目链接&#xff1a;438. 找到字符串中所有字母异位词 2. 题目描述&#xff1a; 给定两个字符串 s 和 p&#xff0c;找到 s 中所有 p 的 异位词 的子串&#xff0c;返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字母重排列形成的字符串&#xff08;包括…

C语言---预处理详解

1.预定义符号 在C语言中有一些内置的预定义符号 __FILE__ __LINE__ __DATE__ __TIME__ __STDC__//进行编译的源文件 //文件当前的行号 //文件被编译的日期 //文件被编译的时间 //如果编译器遵循ANSI C&#xff0c;其值为1&#xff0c;否则未定义 编译器在__STDC__报错,说明,v…

CF837G Functions On The Segments

CF837G Functions On The Segments Functions On The Segments - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 文章目录 CF837G Functions On The Segments题目大意思路code 题目大意 你有 n n n 个函数&#xff0c;第 i i i 个函数 f i f_i fi​ 为&#xff1a; f i ( x…

【TES720D】青翼科技基于复旦微的FMQL20S400全国产化ARM核心模块

板卡概述 TES720D是一款基于上海复旦微电子FMQL20S400的全国产化核心模块。该核心模块将复旦微的FMQL20S400&#xff08;兼容FMQL10S400&#xff09;的最小系统集成在了一个50*70mm的核心板上&#xff0c;可以作为一个核心模块&#xff0c;进行功能性扩展&#xff0c;特别是用…

【数组的使用】

文章目录 前言数组的格式有两种数组是引用数据类型遍历数组获取数组的长度&#xff1a;数组名.length数组之间的引用数组中的null关于引用的注意事项总结 前言 数组的格式有两种 int[] array{1,2,3,4};int[] array2new int[10];//默认将数组进行初始化&#xff0c;里面的值都为…

问:TCP/IP协议栈在内核态的好还是用户态的好

“TCP/IP协议栈到底是内核态的好还是用户态的好&#xff1f;” 问题的根源在于&#xff0c;干嘛非要这么刻意地去区分什么内核态和用户态。 引子 为了不让本文成为干巴巴的说教&#xff0c;在文章开头&#xff0c;我以一个实例分析开始。 最近一段时间&#xff0c;我几乎每…

WPF Datagrid Header数据绑定,表头复选框实现全选、全否、部分选中,根据条目动态变化

制作一个根表头为CheckBox可全选、全不选的列表&#xff0c;且可根据条目自动调整CheckBox的状态&#xff08;选中、不选、部分选中&#xff09;。 本来是想用DataGrid做一个CheckBox的列用于勾选其中的某些行&#xff0c;当时做出来之后想着添加一个全选、全否的功能。做两个…

pytorch里常用操作(持续更新)

对不起我脑子不太记事儿每次变换都得想想想所以干脆汇总一下算了&#xff0c;当然也有一些不是torch包里面的但是没有关系hhh 官方文档里有一堆不太常用的&#xff0c;这里整理的都是自己比较常用的 张量操作 torch.tensor&#xff1a;从Python列表或NumPy数组创建张量 torc…

idea使用debug无法启动,使用run可以启动

1、将调试断点清除 使用快捷键ctrl shift F8&#xff0c;将勾选的选项去除即可 2、Error running SampleApplication: Command line is too long. Shorten command line for SampleApplication or also for Spring Boot default configuration&#xff0c;报这种错误&#x…

vr火灾逃生安全科普软件开展消防突击教育安全有效

VR火灾逃生自救虚拟体验是一种利用虚拟现实技术来模拟火灾逃生自救场景的教育工具。以下是这个体验的几个优点&#xff1a;VR消防安全体验馆的出现&#xff0c;为城市的安全教育开辟了新的途径。这种创新的体验方式&#xff0c;能够让市民在模拟的火灾场景中学习并掌握消防安全…

前端面试基础面试题——10

1. 说说你对 promise 的了解 2.解构赋值及其原理 3.箭头函数需要注意的地方 4.箭头函数和普通函数有什么区别 5.ES6 都有什么 Iterator 遍历器 6.jQuery 一个对象可以同时绑定多个事件&#xff0c;这是如何实现的&#xff1f; 7.jQuery 库中的 $() 是什么&#xff1f; 8…

tcp/ip协议2实现的插图,数据结构2 (9 - 章)

&#xff08;20&#xff09; 20 九章1 IP选项处理 ip_dooptions &#xff08;21&#xff09; 21 九章2 IP选项处理 ip_rtaddr,save_rte,ip_srcroute与结构体 &#xff08;22&#xff09;九章3 IP选项处理 ip_pcbopts, ip_insertoptions , iptime 与结构 &#xff08;23&#xf…

安装 mysql

gpt: 要在 Debian 11 上安装 MySQL 数据库服务器&#xff0c;您可以使用以下步骤&#xff1a; 1. **更新软件包列表**&#xff1a;在安装任何软件之前&#xff0c;始终建议首先更新软件包列表&#xff0c;以确保获取最新的软件包信息。在终端中运行以下命令&#xff1a; bash…

课时4作业1

Description 输入一个整型数&#xff0c;判断是否是对称数&#xff0c;如果是&#xff0c;输出yes&#xff0c;否则输出no&#xff0c;不用考虑这个整型数过大&#xff0c;int类型存不下&#xff0c;不用考虑负值&#xff1b; 例如 12321是对称数&#xff0c;输出yes&#xf…