[TOC]

0x00 前言介绍

描述:在密码学中恺撒密码(或称恺撒加密、恺撒变换、变换加密)是一种最简单且最广为人知的加密技术.它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。

比如:当偏移量是 3 的时候,所有的字母 A 将被替换成D, B 变成 〔 以恺撒的名字命名的,当年恺撒曾用此方法与其将军们进行联系。

凯撒加密示例

1) 基础示例

WeiyiGeek.

WeiyiGeek.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
int main(){
int ch;
printf("请输入明文:");
while ((ch = getchar()) != '\n')
{
if (ch >= 'a' && ch <= 'z'){
putchar('a' + (ch - 'a' + 3) % 26); //这个是灵魂,利用取余来达到字母偏移,97 = a
continue;
}

if (ch >= 'A' && ch <= 'Z') {
putchar('A' + (ch - 'A' + 3) % 26); // 65 = A
continue;
}
putchar(ch);
}
putchar('\n');
return 0;
}
WeiyiGeek.

WeiyiGeek.