翻译密码(简单的 大小写英文字母后移四位,其他字符不变)C语言与Python版本

学习python基础班结束test:凯撒加密法,利用字母移位来加密字母。现在要求实现这样的一个加密和解密的类 一、凯撒加密法原理 利用字母移位来加密字母,空格、标点及特殊字符不加密。 用0~25数字与26个英文字母一一对应,如下图: 这是凯撒密码手动加密工具——加密条,没加密时明文的A与密文A(数字0)是对齐的,如果将明文字母移位4(以下称为密钥key)后,来加密这条信息“Today”。 上图向右移4位后的对应关系如下: 此时明文中的‘A’移到了数字4的位置,A加密成了E,将明文信息“Today”对照密文对应的字母,结果为“XSHEC”。 解密的话,要先知道密钥(移位的值),再将明文中的A移到对应的数字上,将密 阅读详情

题目及分析

  • 上图片~~~
    在这里插入图片描述

c语言实现(利用ASCLL码)

// 译密码: 使用ASCLL码,转换
#include <stdio.h>

int main()
{
	// 1. 首先接收字符,我把它定义为 str,因为输出类似一个字符串
	char str;
	printf("请输入要进行转换的一段话(英文字母加字符:)\n");
	str = getchar();
	while (str != '\n')
	{
		// 2. 判断是否为 a-z,A-Z ,不是就不动
		if ((str >= 'a' && str <= 'z') || (str >= 'A' && str <= 'Z'))
		{
			// 3. 如果 > w  >W  表示要转换为 a等, 转换方式不一样。
			if ((str >= 'w' && str <= 'z') || (str >= 'W' && str <= 'Z'))
				str = str + 4 - 26;  
			else 
			// 常规 +4 转换
				str = str + 4;
		}
		printf("%c", str);

		// c语言这种直接输入一行字符串的方法,可以记住。
		str = getchar(str);
	}
	printf("\n");
	return 0;	
}

python实现(利用函数~)

  • 同样利用 ASCLL码
  • python这里给出,加密解密的函数。
def encrypt(str_c):
    result = ''
    for i in str_c:
        if i.islower():
            result += chr((ord(i) - ord('a') + 4)%26 + ord('a'))
        elif i.isupper():
            result += chr((ord(i) - ord('A') + 4)%26 + ord('A'))
        else:
            result += i
    return result

def decrypt(str_a):
    result = ''
    for i in str_a:
        if i.islower():
        	# 这里和C语言不一样, python -3%26 = 23, C语言 -3%26 = -3
            result += chr((ord(i) - ord('a') - 4)%26 + ord('a'))
        elif i.isupper():
            result += chr((ord(i) - ord('A') - 4)%26 + ord('A'))
        else:
            result += i
    return result

# print(encrypt('i" laohu you wxyzaa..'))
print(decrypt(' ABCD'))
【Python】破解摩斯密码 大家都看过电影《无间道》吧。在电影《无间道》中,刘建明(刘德华饰)作为黑帮的卧底在一次行动中发现了警察的卧底陈永仁(梁朝伟饰)与黄警督(黄秋生饰)通过摩斯电码进行通讯,经过紧急的群发区域短信 “有内鬼,终止交易” 避免了黑帮头目被抓。 通过动图能看到黄警督和陈永仁仅通过手指的敲击就能完成通讯,是不是很神奇? 摩尔斯电码 摩斯密码的定义如下: 摩尔斯电码( 又译为摩斯密码,英语:Morse code)是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、数字和标点符号。是由美国人艾尔菲德·维尔与 阅读详情

相关推荐

SWUST 派森练习题:P111. 摩斯密码翻译器

题目描述:将输入的英文句子转换成摩尔斯电码并输出,其中字母、数字和标点符号按编码输出,空格原样输出,若编码表里没有的字符,也原样输出,且每个摩斯码之间用一个空格分隔。摩斯密码(morse code),又称摩斯电码、摩尔斯电码(莫尔斯电码),是一种时通时断的信号代码,通过不同的信号排列顺序来表达不同的英文字母、数字和标点符号;通信时,将英文字母等内容翻译成摩斯电码(摩尔斯电码)进行传输,收到摩斯密码(莫尔斯电码)后,对电码进行反翻译,得到通信的实际内容,达到加密通信内容的目的。

m0_63501513的博客 1475

字符串加密-后移4位

#include<stdio.h> int main() { char c; while((c=getchar())!='\n') { if(c>='a'&&c<='z'||c>='A'&&c<='Z') { c=c+4; if(c>'z'||c>'Z'&&c<='Z'+4) c=c-26; } .

lws24919的博客 5454

Python字符串处理实战:用translate()函数破解黑客语(Leet)密码

本文通过实战案例,详细介绍了如何利用Python的translate()函数高效破解黑客语(Leet)密码。文章阐述了Leet语的文化背景与常见替换规则,对比了多种字符串处理方法,重点演示了使用maketrans()创建翻译表并结合translate()进行批量字符替换的解码方案,为数据清洗、文本解析及安全研究提供了高效的Python字符串处理技巧。

weixin_29081703的博客 427

2020-10-15

第一篇:typedef struct与struct的区别 基本解释 typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。 在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明。 至于typedef有什么微妙之处,请你接着看下面对几个问题的具体阐述。 typedef & 结构的问题 当用下面的代码定义一个结构时,编译器报了一个错误,

weixin_46863706的博客 259

华为OD机试C卷-- 密码解密(Java & JS & Python & C)

给定一段“密文”字符串 s,其中字符都是经过“密码本”映射的,现需要将“密文”解密并输出。 映射的规则('a' ~ 'i')分别用('1' ~ '9')表示;('j' ~ 'z')分别用("10*" ~ "26*")表示。 约束:映射始终唯一。

wbajsjhhhhh的博客 974

从‘能看’到‘好看’:用Seaborn调色板让你的热力图在PPT和论文中脱颖而出

本文探讨如何利用Seaborn调色板提升热力图在PPT和论文中的视觉效果,从视觉心理学和场景适配角度出发,提供学术与商业场景下的配色方案和实战代码。通过优化色彩选择,使数据可视化更具专业性和吸引力,帮助读者快速理解关键信息。

weixin_30755393的博客 245

c语音程序加密题(字母后加四位)

c语音字母加密题

qq_67494848的博客 6390

Lumerical Python API实战指南(一)——从数据优化到自动化工作流

本文是Lumerical Python API实战指南,旨在帮助用户从繁琐的手动仿真操作转向智能自动化工作流。文章详细介绍了API环境的零基础搭建、核心操作(会话管理、命令执行与数据交换),并通过参数扫描与自动化分析流水线的实战案例,展示了如何利用Python脚本实现从数据优化到自动化仿真的全过程,显著提升光子设计效率。

xxx12的博客 566

c语言实现,将字母变成其后面的第4个字母,其它字符保持不变。

在这里插入代码片#include <stdio.h> char jiami(char c); int main(){ int i; char *str = "I love you!"; char miwen[80]; for (i = 0; str[i] != '\0'; i++){ miwen[i] = jiami(str[i]); } miwen[i] = '\0'; puts(miwen); return 0; } char jiami(char c){ //请在此段添

打码少年风萧的博客 7669

DIY电磁炉核心驱动方案:IR2153PBF自振荡半桥芯片实战指南(附电路图)

本文详细介绍了IR2153PBF自振荡半桥驱动芯片在DIY电磁炉核心驱动方案中的实战应用。该芯片集成了振荡器与600V高压驱动能力,仅需少量外围元件即可生成互补带死区的PWM信号,极大简化了半桥逆变电路设计。文章深入解析了其工作原理、关键参数,并提供了完整的电路设计、PCB布局指南及调试步骤,帮助电子爱好者构建稳定高效的感应加热驱动核心。

beer8的博客 577

从零到一:NI USB-8506 LIN通讯的驱动安装与硬件调试全攻略

本文详细介绍了NI USB-8506 LIN通讯设备的驱动安装与硬件调试全流程,包括硬件准备、驱动下载与配置、NI MAX设置及常见问题解决方案。通过实战应用与性能优化技巧,帮助用户快速掌握LIN通讯技术,适用于车载数据记录和自动化测试等场景。

weixin_28273593的博客 924

西南科技大学 Python程序设计 摩斯密码翻译器

【代码】西南科技大学 Python程序设计 摩斯密码翻译器。

Nanyuw的博客 2826

Apollo control模块横向控制原理及核心代码逐行解析

看完这篇文章,你会对apollo横向控制有一个整体的概念

weixin_39199083的博客 2万+

从字符编码到凯撒密码:编程入门中的字符串处理与算法实践

字符编码是计算机处理文本信息的基础,其中ASCII码是最早广泛使用的标准之一,它定义了英文字母、数字和常用符号的二进制表示。基于编码连续性的原理,程序可以通过对字符的ASCII码进行算术运算来实现字符转换,这是许多基础算法(如凯撒密码)的核心机制。掌握这一原理不仅有助于理解字符串处理的底层逻辑,还能提升解决实际编码问题的能力,例如在数据加密、文本转换等场景中。本文以经典的“密码翻译”问题为例,深入探讨了如何利用字符编码实现字母替换,并提供了C++、Python、Java等多种语言的实现方案,帮助读者从原理到

weixin_32288959的博客 328

GStreamer Plugin之Gst-nvdewarper

支持三种投影类型 NVDS_META_SURFACE_FISH_PUSHBROOM, NVDS_META_SURFACE_FISH_VERTCYL 和NVDS_META_SURFACE_PERSPECTIVE_PERSPECTIVE。关于每个平面的NvDewarperSurfaceMeta参数(projection_type, surface_index, and source_id)以及内存中有效的矫正平面(num_filled_surfaces)包含RGBA格式的一帧的缓存。矫正后的RGBA格式。

pvmsmfchcs的博客 366

Sentaurus TCAD建模:宽温区n型FinFET模型校准与低温仿真分析

本文基于Sentaurus TCAD平台,建立了n型FinFET的宽温区(233K-393K)仿真模型,解决了低温(73K-193K)仿真失效问题。研究对比了Sprocess工艺仿真与SDE几何建模两种方法,分析了载流子冻析效应、不完全电离和迁移率退化等低温物理机制。通过优化模型参数,实现了在233K、313K和393K条件下仿真误差小于10%,并建立了符合物理趋势的低温外推模型。研究提供了完整的Sentaurus TCAD代码实现,包括器件结构定义、物理模型配置和温度相关参数校准,为宽温区FinFET仿真

huanghm88的专栏 264

Python实现凯撒密码:从原理到代码的完整解析

字符编码是计算机处理文本信息的基础,它定义了字符与二进制数字之间的映射关系。ASCII码作为最经典的字符编码标准,将英文字母、数字和常用符号进行了标准化。基于字符编码的模运算原理,可以实现字符的循环替换,这是古典加密算法凯撒密码的核心。凯撒密码通过将字母在字母表中偏移固定位置来实现加密,其技术价值在于以简洁的方式阐述了替换加密的基本思想,是理解现代密码学的入门基石。在编程学习与工程实践中,凯撒密码常作为字符串处理、循环控制与算法设计的经典练习题,广泛应用于编程入门教学和基础算法训练。本文以Python实现为

闲谈 339

C#操作MySQL从入门到精通(1)——安装MySQL数据库

我们使用C#操作MySQL数据库第一步要做的就是安装MySQL数据库,本文就是详细讲解如何安装MySQL数据库。

qq_34059233的博客 962

华为OD机考字符串加密题解:Python实现与高频错误排查

字符串加密是计算机安全与数据保护的基础技术之一,其核心原理在于通过特定的替换规则,将原始信息(明文)转换为不可直接识别的形式(密文)。在编程实践中,这类问题常作为考察字符串处理基本功的经典案例,涉及字符遍历、映射构建、大小写敏感处理及边界条件控制等关键技术点。掌握高效的字符映射方法(如使用字典实现O(1)查找)和严谨的细节处理(如非字母字符保留、密钥去重保序),不仅能提升代码的健壮性与执行效率,更对理解数据加密、文本处理及算法优化具有重要价值。本文以华为OD机考中的“字符串加密”真题为例,深入剖析其实现逻辑

cishan3804的博客 380

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

生物信息学算法之Python实现|Rosalind刷题笔记:003 中心法则:翻译

我在生物信息学:全景一文中,阐述了生物信息学的应用领域非常广泛。但是有一点是很关键的,就是细胞内的生命活动都遵从中心法则,生物信息学很多时候就是在中心法则上做文章:分子生物学中心法则:D...

公众号/简说基因,知乎/简宝玉 1674

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Python实现Playfair密码解密:从古典密码算法到编程实战

对称加密是信息安全领域的基石技术,其核心原理在于使用相同密钥进行加解密操作,确保数据传输的机密性。古典密码算法如Playfair,作为分组密码的早期代表,通过5x5密钥矩阵和字母对替换规则,展现了分组置换的基本思想,为理解现代加密技术提供了直观案例。在工程实践中,Python凭借其简洁的字符串处理和列表操作能力,成为实现此类算法的理想工具,能有效帮助开发者深入理解算法逻辑与边界处理。本文以Playfair密码为例,详细拆解其矩阵构建、解密规则及Python实现过程,涵盖密钥生成、字符查找及异常处理等关键环节

迷彩风情 848

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Python字符串加解密实战:从华为机考题到映射表与translate高效实现

字符串处理是编程中的基础且高频操作,涉及数据清洗、格式转换、简单加密等多个场景。其核心原理在于对字符序列的遍历、识别与变换,通常借助ASCII码或Unicode编码进行操作。在Python中,高效处理字符串映射问题能显著提升代码性能和可维护性,是工程师必备技能。本文以一道典型的字符串加解密题目为例,深入探讨了两种主流解决方案:一是利用字典构建映射表实现清晰逻辑与快速查找,二是使用str.maketrans与str.translate方法实现极致简洁与C层高性能。这两种方法均能优雅处理边界循环(如‘z‘到‘a

weixin_30617695的博客 410

用c语言将文章进行莫尔斯编码,leecode练习--804、唯一摩尔斯密码词

leecode练习--804、唯一摩尔斯密码词题目要求:国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串比如: "a" 对应 ".-", "b" 对应 "-...", "c" 对应 "-.-.", 等等为了方便,所有26个英文字母对应摩尔斯密码表如下:[".-","-...","-.-.","-..",".","..-.","--.","....","..","...

weixin_40003512的博客 226

【算法leetcode每日一练】804. 唯一摩尔斯密码词

国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串, 比如: 'a' 对应 ".-" , 'b' 对应 "-..." , 'c' 对应 "-.-." ,以此类推。 为了方便,所有 26 个英文字母的摩尔斯密码表如下: [".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...

二当家的白帽子 445

804.唯一摩尔斯密码词

题目描述 国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串,比如: 'a' 对应 ".-" , 'b' 对应 "-..." , 'c' 对应 "-.-." ,以此类推。 为了方便,所有 26 个英文字母的摩尔斯密码表如下: [".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-"..

cqjnovo的博客 224

LeetCode 804. 唯一摩尔斯密码词

唯一摩尔斯密码词 题目链接 国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串, 比如: “a” 对应 “.-”, “b” 对应 “-…”, “c” 对应 “-.-.”, 等等。 为了方便,所有26个英文字母对应摩尔斯密码表如下: [".-","-…","-.-.","-…",".","…-.","–.","…","…",".—","-.-",".-…","...

码农在途的博客 290
上一篇: 斐波那契数列实现C与python版
下一篇: 水仙花数C语言与python版
我是py呀
博客等级 码龄8年 205粉丝 130原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值