//@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. 【笔记】《Redis设计与实现》chapter19 事务

    chapter19 事务 Redis通过MULTI.EXEC.WATCH等命令来实现事务功能 19.1 事务的实现 事务开始 redis> MULTI ok 通过切换客户端状态的flag属性的R ...

  2. HashSet、CopyOnWriteArraySet、ConcurrentSkipListSet源码解析(JDK1.8)

    目录 HashSet源码解析 HashSet简单使用的demo HashSet中的变量 HashSet的构造函数 HashSet的add方法 HashSet的iterator方法 HashSet的si ...

  3. 如何在 NET 程序万种死法中有效的生成 Dump (下)

    一:背景 上一篇我们聊到了如何通过 procdump 抓取 cpu爆高 和 内存暴涨 两种情况,这一篇再聊聊如何去抓程序 挂死 和 意外退出. 二:程序挂死 1. 定义 程序挂死 简单的说就是程序没有 ...

  4. Day01_07_Java关键字和字面值

    关键字 https://www.cnblogs.com/chenglc/p/6922834.html 字面值(所见即所得的数据) 10 100 3.14 'a' "abc" tur ...

  5. 所谓 ICMP,不过将军与士卒而已

    什么是 ICMP 协议 关于这点我们在 IP 协议那篇文章中提过一嘴,IP 协议作为一种提供不可靠数据交付的网络层协议,在传输的过程中,其 IP 数据报可能会发生丢失.重复.延迟和乱序等各种情况, 但 ...

  6. ASP调用SDK微信分享好友、朋友圈

    ASP调用SDK微信分享好友.朋友圈需要用到sha1.asp,我先来上主代码,然后再附加sha1.asp,方便大家直接复制过去即可使用. 页面:shara.asp 1 <%@LANGUAGE=& ...

  7. 3. Linux基本结构与终端打开方法,关闭方法。

    Linux基本机构: 应用程序 标准库 Linux操作系统内核 硬件 (上层依赖于下层) 终端工具: 打开方法: 1.点击图标 2.搜索命令:终端 退出终端: 1.exit<回车> 2.C ...

  8. ubuntu 1804 配置阿里源

    以防出错,先备份sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak编辑元列表文件sudo vim /etc/apt/sources.list ...

  9. Python脚本自动化破解大白鲨摄像头(Shodan)

    关于本文的技术知识点,Shodan模块的用法,传送门-->  Python中shadon模块的使用    Shodan的使用 今天我们要利用python进行自动化破解的摄像头叫大白鲨摄像头,他的 ...

  10. POJ1789简单小生成树

    题意:       给你一些车牌号,然后另一两个车牌号之间的权值就是这两个字符串之间相同位置不同字母的个数,然后求最小生成树. 思路:       裸题,不解释了. #include<stdio ...