凯撒加密caesar
凯撒加密(Caesar cipher)是一种简单的消息编码方式:它根据字母表将消息中的每个字母移动常量位k。举个例子如果k等于3,则在编码后的消息中,每个字母都会向前移动3位:a会被替换为d;b会被替换成e;依此类推。字母表末尾将回卷到字母表开头。于是,w会被替换为z,x会被替换为a。
#include<stdio.h>
int main(){
char c;
//一定要注意 在C语言中 双引号是字符串,单引号是字符;在这里一定是单引号,如果是双引号,会发生while永不结束
while((c=getchar())!='\n'){
if( (c<='Z' && c>='A') || (c<='z' && c>='a') ){
c = c + 4 ;
if((c>'z'&& c<='z'+4) || (c>'Z'&& c<='Z'+4)){
c = c-26;
}
printf("%c",c);
}
}
printf("\n");
}
1.
假设输入abcde(回车)
他是把abcde(回车)放到内存中,然后逐个付给c
首先是c='a',然后判断c是否等于‘\n’也就是回车。如果不是则继续循环。接着c='b'。同理,当c=(回车)时,c='\n',结束循环~
如果是设置为:
while((c=getchar())!="\n"){
再输入 abcde(回车)
最后判断c是否等于"\n",然而"\n"不是回车,回车是'\n',所以发生while死循环等待用户输入字符的现象,而不会终止程序的运行
2.
while((c=getchar())!='\n')与while(c=getchar()!='\n')的区别
因为赋值符的优先级最低, 所以前面那个c获取的是输入的字符, 后面那个得到的是getchar()!='\n'表达式判断结果。
凯撒加密caesar相关推荐
- 凯撒加密Caesar cipher与古典密码
凯撒加密的由来 凯撒加密正是凯撒大帝发明的,是一种古典的加密 凯撒率军征服高卢,袭击日耳曼和不列颠,古罗马开启了走出意大利,征服全欧洲的征程 仅用8年时间征服高卢后,凯撒率军越过卢比孔河,驱赶政敌,成 ...
- Python 简单的凯撒加密
凯撒加密(Caesar Code)是一种简单的消息编码方式:它根据字母表将消息中的每个字母移动常量位k.举个例子如果k等于3,则在编码后的消息中,每个字母都会向前移动3位:a会被替换为d:b会被替换成 ...
- 凯撒(Caesar)加密解密算法C/C++实现
任成风 2018年5月20日星期日 博客首发地址:个人博客网站 http://fairycity.wang,内容以个人博客为主,修正后的博文见个人博客,请点击访问. 本文的框架: 摘要和关键字: 1. ...
- 文件加密(一) 凯撒加密(Caesar cipher)
算法一 : 凯撒加密 (只能对英文的txt) 将每个字符的ASCII码相对于设置的偏移量偏移 #include <iostream> #include <fstream> ...
- 0宽字符加密_使用 Go 语言实现凯撒加密
在 2 世纪, 发送机密消息的一个有效方法就是对每个字母进行位移, 使得 'a' 变为 'd' , 'b' 变为 'e' , 依次类推. 这样处理产生的结果看上去就像是一门外语: L fdph, L ...
- Java加密算法—凯撒加密实现以及暴力破解
目录 1.概念 2.加密实现 3.解密实现 4.频率分析法破解 1.概念 凯撒密码最早由古罗马军事统帅盖乌斯·尤利乌斯·凯撒在军队中用来传递加密信息,故称凯撒密码.这是一种位移加密方式,只对26个字母 ...
- 凯撒(caesar)密码加解密方法
凯撒加密(Caesarcipher)是一种简单的消息编码方式:它根据字母表将消息中的每个字母移动常量位k. 举个例子如果k等于3,则在编码后的消息中,每个字母都会向前移动3位: a会被替换为d:b会被 ...
- 凯撒密码(Caesar)
凯撒密码(Caesar) 加密对象: 大小写字母 原理: 是一种移位加密方法,给每个字母排个索引,字母a-z索引依次为0-25 偏移量是多少就向后面移动多少 如:密文"Abc",偏 ...
- python凯撒加密代码_解密题(凯撒密码)
在密码学中,恺撒密码(英语:Caesar cipher),或称恺撒加密.恺撒变换.变换加密,是一种最简单且最广为人知的加密技术.它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一 ...
最新文章
- sizeof 使用注意
- 分布式系统中处理参数配置的 4 种方案
- [BUUCTF-pwn]——picoctf_2018_rop chain
- HDU - 1054 Strategic Game(最小点覆盖-二分图最大匹配)
- shell脚本获取系统的前一天日期,格式为yyyymmdd
- json字符串导入oracle,如何在Oracle中将JSON字符串转换为JSON
- LA 3458——Bridge
- std::tuple 和 std::tie 的用法简介
- 如何用3DsMax制作笔记本电脑
- win7查询计算机硬盘sn,电脑win7系统查询硬盘序列号的方法
- 计算机网络按拓扑结构可以划分为,计算机网络按拓扑结构分为哪些
- netbeans php 安装教程,Netbeans下载安装教程教程
- Source Insight 使用
- mysql数据库的连接--买家类目(上)
- JVM学习之---了解JIT
- 日志组的状态:CURRENT、ACTIVE、INACTIVE
- 手机sd卡恢复工具android版,SD卡数据恢复软件
- 不重视技术,何谈掌握核心技术?
- 基于titanic数据集介绍数据分析处理流程
- 基于深度学习的高精地图的自动生成与标注
热门文章
- 机器学习——基本认识
- musl pwn 入门 (1)
- 【负荷预测】长短期负荷预测(Matlab代码实现)
- 负荷预测|一种改进支持向量机的电力负荷预测方法研究(Matlab代码实现)
- CG动画制作——实训项目中期工作(一)
- 智能车辆管理系统一站式开发
- 文件操作---基于python
- signature=44e9487b7bdb8ebb24ae302ef5c109a1,LBE_Security_Rel_5.4.8358_A1.apk
- [技术发展-14]:高级研修班-智能制造-智能制造技术体系与发展状况
- 文件被病毒感染了,全部变成隐藏文件恢复过程