当前位置: 首页 > news >正文

以小说名字做网站的小说网小红书关键词搜索量查询

以小说名字做网站的小说网,小红书关键词搜索量查询,建设网站郑州,随手app广告怎么关闭栅栏密码的原理: 栅栏层数n ①把将要传递的信息中的字母交替排成上下n行。 ②再将下面每一行字母排依次在上面一行的后边,从而形成一段密码。 ③例如:栅栏层数为2 明文:THE LONGEST DAY MUST HAVE AN END 加密: …

 栅栏密码的原理:

栅栏层数n

①把将要传递的信息中的字母交替排成上下n行。

②再将下面每一行字母排依次在上面一行的后边,从而形成一段密码。

③例如:栅栏层数为2

明文:THE LONGEST DAY MUST HAVE AN END

加密:

1、把将要传递的信息中的字母交替排成上下两行。

T E O G S D Y U T A E N N

H L N E T A M S H V A E D

2、 密文:

将下面一行字母排在上面一行的后边。

TEOGSDYUTAENN HLNETAMSHVAED

解密:

先将密文分为两行

T E O G S D Y U T A E N N

H L N E T A M S H V A E D

再按上下上下的顺序组合成一句话 

明文:THE LONGEST DAY MUST HAVE AN END 

代码实现 

根据上面的原理,显然我们可以用二维数组来解决加密解密的问题。 

#include <stdio.h>
#include <string.h>// 函数:栅栏加密
void railFenceEncrypt(char* plainText, int rail, int len) {// 创建一个二维数组来存储栅栏char fence[rail][len];//创建一个字符串来存密文char cipher[rail * len];// 将明文字符依次填入栅栏中for (int i = 0; i < rail; i++) {for (int j = 0; j < len; j++) {fence[i][j] = plainText[i + j * rail];}}//创建index存密文索引int index = 0;// 输出密文printf("密文:");for (int i = 0; i < rail; i++) {for (int j = 0; j < len; j++) {if (fence[i][j] != '\0')cipher[index] = fence[i][j];index++;}}printf("%s", cipher);printf("\n");
}// 函数:栅栏解密
void railFenceDecrypt(char* cipherText, int rail, int len) {// 创建一个二维数组来存储栅栏char fence[rail][len];char plain[rail * len];for (int i = 0; i < rail; i++) {for (int j = 0; j < len; j++) {fence[i][j] = cipherText[i * len + j];}}int index = 0;printf("明文:");for (int i = 0; i < len * rail; i++) {for (int j = 0; j < rail; j++) {if (fence[j][i] != '\0' && index < len * rail)plain[index] = fence[j][i];index++;}}printf("%s", plain);
}//除去字符串中的空格
void removeSpaces(char* str) {int i, j = 0;int len = strlen(str);for (i = 0; i < len; i++) {if (str[i] != ' ') {str[j] = str[i];j++;}}str[j] = '\0';
}
int main() {printf("请输入明文:");char plainText[100];//接收带空格的字符串fgets(plainText, 100, stdin);removeSpaces(plainText);int rail = 0;int len = strlen(plainText);printf("明文:%s\n", plainText);printf("请输入栅栏数:");scanf("%d", &rail);railFenceEncrypt(plainText, rail, len / rail);//解密printf("请输入密文:");char cipherText[1000];scanf("%s", cipherText);len = strlen(cipherText);printf("密文:%s\n", cipherText);printf("请输入栅栏数:");scanf("%d", &rail);railFenceDecrypt(cipherText, rail, len / rail);return 0;
}

http://www.tj-hxxt.cn/news/48845.html

相关文章:

  • 中小型网站建设案例如何查询域名注册人信息
  • 开网站建设公司百度云盘网官网
  • 做新得网站可以换到原来得域名嘛外链怎么做
  • 深圳有做网站的公司厦门网络关键词排名
  • 做网站接活犯法吗视频剪辑培训班一般学费多少
  • 简单的企业网站的主页电商平台推广公司
  • 用点心做点心官方网站东莞百度快速排名优化
  • 网站建设优化seoseo自媒体运营技巧
  • 动漫制作专业专升本对应的专业重庆seo公司怎么样
  • 湘潭网站建设湘潭振企专业内蒙古seo优化
  • 登封做网站下载百度地图2022最新版官方
  • 注册域名之后怎么做网站常熟seo关键词优化公司
  • 大连百度网站排名优化百度竞价推广效果怎么样
  • 英文外贸网站源码湖南seo博客seo交流
  • 推广员是做什么的seo教程搜索引擎优化入门与进阶
  • 可信的h5制作开发seo搜索引擎优化案例
  • 做网站怎么赚钱 知乎百度关键词排名原理
  • 做衣服网站有哪些苏州关键词排名系统
  • 哪里办网站不用备案天津站内关键词优化
  • 凡科网站免费注册沈阳cms建站模板
  • 新闻网站建设意义网站性能优化
  • 竞价推广营销seo营销网站
  • 做卡盟网站赚钱吗东莞有限公司seo
  • 做网站 发现对方传销常州谷歌推广
  • 手机怎么做网站添加背景音乐百度查关键词显示排名
  • 重庆网站设计系统今日时政新闻热点
  • 美食网站建设策划书网站关键词优化技巧
  • 树莓派做网站服务器seo西安
  • 报纸网站建设东莞网站推广企业
  • 设计了网站首页成都seo技术