zoukankan      html  css  js  c++  java
  • Crypto

    原题链接:http://www.wechall.net/challenge/training/crypto/caesar/index.php

    告诉我们这是个古凯撒密码,让我们解。。。我们百度下古凯撒密码

    它是一种代换密码。据说恺撒是率先使用加密函的古代将领之一,因此这种加密方法被称为恺撒密码
    凯撒密码作为一种最为古老的对称加密体制,在古罗马的时候都已经很流行,他的基本思想是:通过把字母移动一定的位数来实现加密和解密。明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推X将变成A,Y变成B,Z变成C。由此可见,位数就是凯撒密码加密和解密的密钥。

    而他给我们的暗文是:

    ESP BFTNV MCZHY QZI UFXAD ZGPC ESP WLKJ OZR ZQ NLPDLC LYO JZFC FYTBFP DZWFETZY TD OMTOXWAAQSNC

    这里附上一个我自己写的c语言程序来解码

    #include <stdio.h>

    #include <string.h>

    int main(){

    char str[99];

    int l,i,m;

    gets(str);

    l=strlen(str);

    for(i=0;i<26;i++){

    for(m=0;m<l;m++){

    if(str[m]==' ') continue;

    str[m]=str[m]+1;

    if('Z'<str[m]) str[m]='A';

    }

    printf("%d: ",i+1);

    puts(str);

    printf(" ");

    }

    }

    运行一遍得到solution

  • 相关阅读:
    构建之法阅读笔记05
    构建之法阅读笔记04
    构建之法阅读笔记03
    学习进度条
    软件工程练习——买书
    软件工程练习——找水王2
    Java作业07
    Java课堂作业06
    读《大道至简》第六章有感
    Java课堂作业05
  • 原文地址:https://www.cnblogs.com/wosun/p/11256434.html
Copyright © 2011-2022 走看看