首页 > 其他分享 >凯撒密码加密(向后偏移)

凯撒密码加密(向后偏移)

时间:2024-08-09 12:23:21浏览次数:13  
标签:printf 输出 加密 结束符 偏移 str offset 凯撒 输入

#include<stdio.h>
#define M 26
int main() {
	char str[80];
	int i = 0,offset;
	printf("请输入初始字符串: ");
	//回车表示输入完成
	while ((str[i] = getchar()) != '\n') {
		i++;
	}
	str[i] = '\0'; //后续进行转换时以此为结束标志
	printf("请输入偏移值: ");
	scanf("%d", &offset);
	//偏移值大于26就取余
	if (offset > M) offset = offset % M;
	for (i = 0; str[i] != '\0'; i++) {
		if (str[i] >= 'A' && str[i] <= 'Z') {
			if (str[i] + offset <= 'Z') {
				str[i] = str[i] + offset;
			}
			else str[i] = str[i] - (M - offset);
		}

		else if (str[i] >= 'a' && str[i] <= 'z') {
			if (str[i] + offset <= 'z') {
				str[i] = str[i] + offset;
			}
			else str[i] = str[i] - (M - offset);
		}
	}
	for (i = 0; str[i] != '\0'; i++) {
		printf("%c", str[i]);
		//printf("%s", str[i]);
		//putchar(str[i]);
	}
	return 0;
}

出现的问题:

最后的输出部分刚开始用的:

printf("%s", str[i]);

发现没有输出结果,因为%s输出的是字符串,而不是单个字符输出,字符串的输出需要'\0'。

还尝试不让str[i]='\0',后续循环判断的条件使用str[i]!='\n',程序可以正常执行,但是不推荐这样做,很多资料都说这样不安全。

此外还可以定义一个k,用for(k=0;k<i;k++)作为循环判断。

其他:

'\0'表示空操作,无法输入,所以输入字符串时设定一个输入结束符,即'\n',出现该字符表示输入结束,并将该结束符转换为字符结束符'\0'。

标签:printf,输出,加密,结束符,偏移,str,offset,凯撒,输入
From: https://blog.csdn.net/weixin_69332208/article/details/141039859

相关文章

  • 添加两个带有偏移量的 numpy 数组
    假设我有两个数组:a=numpy.array([1,2,3,4,5])b=numpy.array([10,11,12])我希望将这些数组添加在一起,但我希望从第一个数组中的索引3开始,以生成:numpy.array([1,2,3,14,16,12]).所以我基本上是在a[3中添加一个额外的0:]使其与b的长度相同,然后将其与b相......
  • 深入理解淘客返利系统中的数据加密与隐私保护策略
    深入理解淘客返利系统中的数据加密与隐私保护策略大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在现代互联网环境中,数据加密与隐私保护已经成为开发者必须重视的重要问题。本文将深入探讨淘客返利系统中的数据加密与隐私保护策略,并通过Java代......
  • 为什么要用混合加密?
    首先我们需要先了解对称加密概念:采用单钥密码系统的加密方法,同一个密钥加密和解密,常用的对称加密算法DES、3DES、AES、RC2、RC5等。通俗的说就是你家大门锁和钥匙,你家里有都有大门钥匙来开这一把锁。那他有什么优点呢?1.加密计算量小,计算快,适合一些大数量......
  • 【实战】文件加密器进行逆向
    前言实战可以大大提高自己,学习技术的目的就是能够在实战中运用。本次实战与实际息息相关,该软件具有加密某文件的功能。界面还挺好看的,功能很简单,输入文件和PIN(4位)进加解密。这是被加密的文件需要将其进行解密,拿到flag思路因为PIN是4位,因此可以写一个python脚本,对其进行......
  • 企业常用的文件加密软件有哪些?2024文件加密软件TOP10排行榜
    随着信息安全的重要性日益增加,企业对文件加密软件的需求也在不断增长。2024年,市场上涌现了多种出色的文件加密解决方案,帮助企业保护敏感数据免受未经授权的访问。1.安秉网盾专为企业设计的加密系统,提供高强度的数据加密。提供全面的终端安全管理功能,包括上网行为管理、外......
  • 10款超好用的图纸加密软件推荐,2024企业常用图纸加密软件分享
    在现代企业中,设计图纸和敏感数据的安全性至关重要。一旦图纸泄露,可能会对企业造成不可估量的损失。因此,选择一款高效、可靠的图纸加密软件显得尤为重要。1.安秉图纸加密软件安秉图纸加密软件是一款专为保护工程图纸和设计文件安全的软件。它采用透明加密技术,对图纸文件进行......
  • 企业文件加密软件有哪些?2024常用十款文件加密软件推荐
    在信息时代,保护企业文件的安全性至关重要。文件加密软件可以有效防止敏感数据的泄露,确保只有授权用户能够访问信息。以下是2024年常用的十款企业文件加密软件推荐:1.安秉加密软件安秉加密软件提供强大的加密功能。适用于多种文件类型,包括文档、图像和视频。使用透明加密技术......
  • 企业为什么需要对源代码进行加密,12款源代码加密软件推荐
    在信息技术快速发展的今天,源代码是企业最为核心的知识产权之一。对源代码进行加密是保护企业竞争优势和知识产权的关键措施。1.保护知识产权:源代码是软件和技术的核心组成部分,未经授权的访问和泄露可能导致知识产权的损失。2.防止逆向工程:加密可以有效防止黑客通过逆向工......
  • Jmeter SHA512接口加密测试
    前言:最近,我遇到一些测试接口必须传入经过SHA512加密后的sign签名,并且签名有1小时时间限制,即签名不是一成不变超1小时就会过期,这导致在测试过程中就得频繁手工去更新签名。其实Jmeter是有提供函数去进行自动转换的,以下详解SHA512加密,可以去网上搜索SHA512在线转换 1、已知,接口......
  • 文件加密软件精品推荐(10款不容错过的文件加密软件)
    文件加密软件是信息安全的必争之地,有多家公司推出了自己的产品,然而这些软件却良莠不齐,在加密强度、易用性、功能多样性、兼容性上有较大差异,今天盘点其中10款佼佼者,值得你去考虑。1.安企神主要功能实时监控与监控管理:安企神支持实时监控员工电脑使用行为,包括上网行为、......