//@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的更多相关文章

  1. FCC JS基础算法题(13):Caesars Cipher(凯撒密码)

    题目描述: 下面我们来介绍风靡全球的凯撒密码Caesar cipher,又叫移位密码.移位密码也就是密码中的字母会按照指定的数量来做移位.一个常见的案例就是ROT13密码,字母会移位13个位置.由'A ...

  2. 凯撒密码(Caesar cipher) 详解

    ------------恢复内容开始------------ 最近训练CTF的时候,发现密码学这块的知识不太系统,所以自己接下来会陆陆续续整理出来 就先从古典密码中的凯撒密码说起吧 凯撒密码内容比较简 ...

  3. Python用户名密码登录系统(MD5加密并存入文件,三次输入错误将被锁定)及对字符串进行凯撒密码加解密操作

    # -*- coding: gb2312 -*- #用户名密码登录系统(MD5加密并存入文件)及对字符串进行凯撒密码加解密操作 #作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.co ...

  4. C语言:凯撒密码的实现

    凯撒密码的实现(10分)题目内容: 凯撒密码(caeser)是罗马扩张时期朱利斯?凯撒(Julius Caesar)创造的,用于加密通过信使传递的作战命令.它将字母表中的字母移动一定位置而实现加密. ...

  5. 凯撒密码 CH Round #57 - Story of the OI Class

    题目:http://ch.ezoj.tk/contest/CH%20Round%20%2357%20-%20Story%20of%20the%20OI%20Class/凯撒密码 题解:刚开始想map, ...

  6. java:凯撒密码及String的应用

    一,凯撒密码 古罗马皇帝凯撒在打仗时曾使用过以下方法加密军事情报 现在用java实现 程序设计思想: 1,字符串首先要转化为字符数组,才能依次加密 2,当原来的字符为X,Y,Z时,加密后要转化为A,B ...

  7. 凯撒密码加密解密--JAVA实现(基础)

    凯撒密码一种代换密码,据说凯撒是率先使用加密函的古代将领之一,因此这种加密方法被称为恺撒密码.凯撒密码的基本思想是:通过把字母移动一定的位数来实现加密和解密.明文中的所有字母都在字母表上向后(或向前) ...

  8. Python的一个解释凯撒密码的程序

    #!/usr/bin/env python # -*- coding: utf-8 -*- ''' { Title:CaserCode Author:naiquan Type:crypto Detai ...

  9. 凯撒密码移位python

    #!/usr/bin/python'''凯撒密码'''a="gmbhqwertghjkcvbzn"s=[""]*len(a)for j in range(26) ...

随机推荐

  1. 剑指offer--孩子们的游戏(圆圈中最后剩下的数字)

    每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此.HF作为牛客的资深元老,自然也准备了一些小游戏.其中,有个游戏是这样的:首先,让小朋友们围成一个大圈.然后,他随机指定一个数m ...

  2. Leedcode算法专题训练(位运算)

    https://www.cnblogs.com/findbetterme/p/10787118.html 看这个就完事了 1. 统计两个数的二进制表示有多少位不同 461. Hamming Dista ...

  3. Java第三章基础学习课后题练习

    小结:final 类型 变量名 = 数值 定义常量使用 变量的原则*** 一定要"先声明,后使用",变量使用前必须先声明.这点就没php好玩:两种键盘输入方式InputStream ...

  4. 分库分表之后,id主键如何处理?

    (1)数据库自增id 这个就是说你的系统里每次得到一个id,都是往一个库的一个表里插入一条没什么业务含义的数据,然后获取一个数据库自增的一个id.拿到这个id之后再往对应的分库分表里去写入. 这个方案 ...

  5. 消息中间件rabbitMQ

    1 为什么使用消息队列啊? 其实就是问问你消息队列都有哪些使用场景,然后你项目里具体是什么场景,说说你在这个场景里用消息队列是什么 面试官问你这个问题,期望的一个回答是说,你们公司有个什么业务场景,这 ...

  6. linux系统调用号查询(pwn)

    做pwn题时遇到程序使用了64位系统调用号:59和15,这里做一下记录 在线查询链接:https://syscalls.w3challs.com/ 分为32位和64位,链接中还有arm.mips等架构 ...

  7. Go-23-接口

    接口定义 type 接口名 interface{ 方法1(参数列表) [返回值] 方法2(参数列表)[返回值] } 接口实现 func (变量 结构体类型)方法1 ([参数列表])(返回值){ } f ...

  8. commons-pool2 池化技术探究

    一.前言 我们经常会接触各种池化的技术或者概念,包括对象池.连接池.线程池等,池化技术最大的好处就是实现对象的重复利用,尤其是创建和使用大对象或者宝贵资源(HTTP连接对象,MySQL连接对象)等方面 ...

  9. 前端实用程序包utils - 开发工作流(一)

    写在前面 早年间有幸在Raychee哥门下当小弟,学到两把刷子.在编程路上,他的很多思想深深影响了我,比如笔者今天要分享的主题.在程序开发中,有个utils包,叫做实用程序包,程序员们会把项目中通用的 ...

  10. 1089 Insert or Merge

    According to Wikipedia: Insertion sort iterates, consuming one input element each repetition, and gr ...