凯撒密码Caesar
//@132屋里上课群
#include<stdio.h>
#include<stdlib.h>//颜色
using namespace std;
int jiami();
int jiemi();
int main()
{
printf("************************************************************\n");
printf("* 凯撒Caesar *\n");
printf("* *\n");
printf("* 1.加密 *\n");
printf("* 2.解密 *\n");
printf("* 【注】:退出请按0 *\n");
printf("************************************************************\n");
system("color 40");
int id;
printf("【键入操作代号】:");
scanf("%d",&id);
switch(id)
{
case 1:
jiami();
break;
case 2:
jiemi();
break;
case 0:
system("color 40");
return 0;
default:
main ();
}
return 0;
}
/***********加密*************/
int jiami()
{
int ii=1,kk=2;
printf("[键入完成请输入'/'] \n\n");
printf("———————————————————————————————————————————————————\n");
printf("[明文信息]\n\n");
char miw[150];
char mingw[100];
for(ii;ii<100;ii++)
{
mingw[ii]=getchar();
if(mingw[ii]<=120&&mingw[ii]>=97)
{
miw[ii]=mingw[ii]+3;
continue;
}
if(mingw[ii]=='x')
{
miw[ii]='a';
}
if(mingw[ii]=='y')
{
miw[ii]='b';
}
if(mingw[ii]=='z')
{
miw[ii]='c';
}
if(mingw[ii]==' ')
{
miw[ii]=' ';
}
if(mingw[ii]=='/')
{
printf("\n\n");
printf("[密文信息] \n\n");
system("color 50");
break;
}
}
for(kk;kk<ii;kk++)
{
if(miw[kk]==' ')
{
printf(" ");
continue;
}
printf("%c",miw[kk]);
}
printf("\n\n");
int id;
printf("———————————————————————————————————————————————————\n");
printf("【键入操作代号】:");
scanf("%d",&id);
switch(id)
{
case 1:
jiami();
break;
case 2:
jiemi();
break;
default:
main ();
case 0:
system("color 40");
return 0;
}
return 0;
}
/***********解密*************/
int jiemi()
{
int ii=1,kk=1;
printf("[键入完成请输入'/'] \n\n");
printf("———————————————————————————————————————————————————\n");
printf("[密文信息]\n\n");
char miw[150];
char mingw[100];
for(ii;ii<100;ii++)
{
miw[ii]=getchar();
if(miw[ii]<=123&&miw[ii]>=100)
{
mingw[ii]=miw[ii]-3;
continue;
}
if(miw[ii]=='a')
{
mingw[ii]='x';
}
if(miw[ii]=='b')
{
mingw[ii]='y';
}
if(miw[ii]=='c')
{
mingw[ii]='z';
}
if(miw[ii]==' ')
{
mingw[ii]=' ';
}
if(miw[ii]=='/')
{
printf("\n\n");
printf("[明文信息] \n\n");
system("color 60");
break;
}
}
for(kk;kk<ii;kk++)
{
if(mingw[kk]==' ')
{
printf(" ");
continue;
}
printf("%c",mingw[kk]);
}
printf("\n\n");
int id;
printf("———————————————————————————————————————————————————\n");
printf("【键入操作代号】:");
scanf("%d",&id);
switch(id)
{
case 1:
jiami();
break;
case 2:
jiemi();
break;
case 0:
system("color 40");
return 0;
default:
main ();
}
return 0;
}
@信息安全概论作业
凯撒密码Caesar的更多相关文章
- FCC JS基础算法题(13):Caesars Cipher(凯撒密码)
题目描述: 下面我们来介绍风靡全球的凯撒密码Caesar cipher,又叫移位密码.移位密码也就是密码中的字母会按照指定的数量来做移位.一个常见的案例就是ROT13密码,字母会移位13个位置.由'A ...
- 凯撒密码(Caesar cipher) 详解
------------恢复内容开始------------ 最近训练CTF的时候,发现密码学这块的知识不太系统,所以自己接下来会陆陆续续整理出来 就先从古典密码中的凯撒密码说起吧 凯撒密码内容比较简 ...
- Python用户名密码登录系统(MD5加密并存入文件,三次输入错误将被锁定)及对字符串进行凯撒密码加解密操作
# -*- coding: gb2312 -*- #用户名密码登录系统(MD5加密并存入文件)及对字符串进行凯撒密码加解密操作 #作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.co ...
- C语言:凯撒密码的实现
凯撒密码的实现(10分)题目内容: 凯撒密码(caeser)是罗马扩张时期朱利斯?凯撒(Julius Caesar)创造的,用于加密通过信使传递的作战命令.它将字母表中的字母移动一定位置而实现加密. ...
- 凯撒密码 CH Round #57 - Story of the OI Class
题目:http://ch.ezoj.tk/contest/CH%20Round%20%2357%20-%20Story%20of%20the%20OI%20Class/凯撒密码 题解:刚开始想map, ...
- java:凯撒密码及String的应用
一,凯撒密码 古罗马皇帝凯撒在打仗时曾使用过以下方法加密军事情报 现在用java实现 程序设计思想: 1,字符串首先要转化为字符数组,才能依次加密 2,当原来的字符为X,Y,Z时,加密后要转化为A,B ...
- 凯撒密码加密解密--JAVA实现(基础)
凯撒密码一种代换密码,据说凯撒是率先使用加密函的古代将领之一,因此这种加密方法被称为恺撒密码.凯撒密码的基本思想是:通过把字母移动一定的位数来实现加密和解密.明文中的所有字母都在字母表上向后(或向前) ...
- Python的一个解释凯撒密码的程序
#!/usr/bin/env python # -*- coding: utf-8 -*- ''' { Title:CaserCode Author:naiquan Type:crypto Detai ...
- 凯撒密码移位python
#!/usr/bin/python'''凯撒密码'''a="gmbhqwertghjkcvbzn"s=[""]*len(a)for j in range(26) ...
随机推荐
- MySQL提升笔记(1):MySQL逻辑架构
深入学习MySQL,从概览MySQL逻辑架构开始. 首先来看一下MySQL的逻辑架构图: MySQL逻辑架构大概可以分为三层: 客户端:最上层的服务并不是MySQL所独有的,大多数基于网络的客户端/服 ...
- Dynamic CRM登陆界面的客制化(持续更新)
Dynamic CRM的登陆页面比较西化,不是很适合中国人使用.目前先把注销跳转的问题解决了. 服务端使用下面命令,将文件导出来 Export-AdfsWebTheme –Name default – ...
- leetcode 刷题(数组篇)15题 三数之和 (双指针)
很有意思的一道题,值得好好思考,虽然难度只有Mid,但是个人觉得不比Hard简单 题目描述 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b ...
- Polly-故障处理和弹性应对很有一手
前言 对于运行中的系统,可以说百分百的小伙伴会经常遇见以下问题: 网络不通,突然又好了: 服务器宕机了: 调用服务接口超时了: 调用接口报错啦: 通讯信息发送失败需要重发: 以上只是列举了一些常遇到的 ...
- 今日浅谈循环 for与while
昨天写的条件分支结构与今日写的循环是编程两个最基本的也非常重要的个结构 for循环 for循环可以从一个元组(tuple),列表(list),字典(dict),集合(set),字符串(string') ...
- odoo字段属性列举
罗列一些Odoo中的字段属性,基本包含大部分的属性. 常用字段属性 平平无奇常用字段属性 string:字段的标题,在UI视图标签中使用.它是可选项,如未设置,会通过首字母大写及将空格替换成为下划线来 ...
- composer 使用提示
1.使用国内镜像[推荐] composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ 或者 comp ...
- 【Redis过期Key监听】
https://blog.csdn.net/wlddhj/article/details/89881055
- POJ 1961 KMP(当前重复次数)
题意: 前缀重复次数,举个例子,aaa 2的位置2个a,3的位置3个a abcabcabc 6的位置两个abcabc,9的位置三个abcabc.... 思路: KMP基础题目之一 ...
- LNMP环境搭建Wordpress博客
目录 LNMP架构工作原理 yum源安装 网站源包安装 LNMP是Linux Nginx MySQL/MariaDB Php/perl/python 的简称,是近些年才逐渐发展起来的构架,发展非常迅 ...