首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C语言 | 将密码译回原文,并输出密码和原文

要求C语言编程将密码译回原文,并输出密码和原文。  解析: 可以定义一个数组ch,在其中存放电文。...如果字符ch[j]是大写字母,则它是26个字母中的第(ch[j]-64)个大写字母,由于此密码的规律是对称转换,即第1个字母转换为最后一个字母,最后一个转换为第1个字母,因此从原文译为密码和从密码译为原文.../遍历输出    {      putchar(tran[j]);   }    printf("\n");//换行    return 0;//函数返回值为0  } 编译运行结果如下: 输入密码: C...yuyan 密码是: C yuyan 输出原文: X bfbzm -------------------------------- Process exited after 9.542 seconds...以上,如果你看了觉得对你有所帮助,就给小林点个赞,分享给身边的人叭,这样小林也有更新下去的动力,跪谢各位父老乡亲啦~ C语言 | 将密码译回原文,并输出密码和原文 更多案例可以go公众号:C语言入门到精通

1.4K54
您找到你想要的搜索结果了吗?
是的
没有找到

C 语言】文件操作 ( 文件加密解密 | 解密文件 )

文章目录 一、文件加密解密操作 1、解密整 4096 字节的数据 2、解密小于 4096 字节的数据 二、完整代码示例 1、文件加密操作 main.c 2、DES 加密解密头文件 des.h 3、第三方...DES 加密解密函数库源码 des.c 一、文件加密解密操作 ---- 准备 2 个文件 , 一个是原始文件 , 一个是加密后的文件 , 将原始文件进行加密 , 然后将加密后的数据输出到加密文件中...ret = -3; printf("error : fwrite\n"); goto END; } 二、完整代码示例 ---- 1、文件加密操作 main.c...**************************************/ #ifndef _DES_H_ #define _DES_H_ #ifdef __cplusplus extern "C"...des.c /****************************************************** * * des.c * common des

9.3K30

解密C语言编译背后的过程

我们大部分程序员可能都是从C语言学起的,写过几万行、几十万行、甚至上百万行的代码,但是大家是否都清楚C语言编译的完整过程呢,如果不清楚的话,我今天就带着大家一起来做个解密吧。...C语言相对于汇编语言是一种高级语言,要想在系统上运行,需要通过编译器把它转换成机器能够读懂的可执行的代码。...以Linux系统上的gcc为例,通常我们编译一个源文件都是用下面的命令: $gcc hello.c –o hello ? 编译成功后,目录里会生成hello这个程序,直接运行它可以看到结果。...$gcc -save-temps hello.c –o hello $ls hello hello.c hello.i hello.o hello.s C编译器的编译过程主要分成四步: (1) 预处理...2)编译 Compiling 编译将 hello.i 文件编译生成一个中间文件 hello.s,打开可以看到里边都是汇编语言,所以编译的作用就是把源代码转换成汇编语言。 ?

83030

C语言】程序设计加密&解密

⭐️ 点赞+ 收藏⭐️+ 留言​ ✉️ 我们并非登上我们所选择的舞台,演出并非我们所选择的剧本 目录 write in front Page ⒈题目内容 ⒉题目要求 ⒊程序的加密 & 解密...声明两组数组分别用来存放加密字符(encypt_str)和解密字符(decode_str) ⒉题目要求 用户进行某一个操作需要输入一个命令,如果命令输入错误,系统会进行提示(设计菜单) 当用户输入命令字符...当用户输入命令字符"2"会对刚加密的文件来进行解密。 当用户输入命令字符"3"退出当前的程序设计应用程序。...= 0; char password[10] = { 0 }; char encypt_str[20] = { 0 };//加密字符 char decode_str[40] = { 0 };//解密字符...= 0; char password[10] = { 0 }; char encypt_str[20] = { 0 };//加密字符 char decode_str[40] = { 0 };//解密字符

15410

凯撒密码的C语言实现,加解密字节流数据

如果是将移动的位数用随机数进行代替,并且记录下该随机数,则破解密码的难度将大大增加。 ...其中K就是密钥; 字母表就像是密码本,所以凯撒加密算法本质上是一种基于密码本的加解密算法; 如果字母表换成255个数字,则可以支持对任意字节流进行加解密,应用到网络通信,改进版的支持任意字节的加解密算法...,C语言实现: //编码和解码表 #define BYTE_MAX_VALUE 256 static uint8_t encodeString[BYTE_MAX_VALUE]; static uint8...str2_encrypt:%01x-->dec:%01x  \r\n",str2_encrypt[i],str3_decrypt[i]);     } } 输出: @"source:a-->sec:1c  ..." @"source:f3-->sec:5  " @"source:ee-->sec:0  " @"source:33-->sec:45  " @"str2_encrypt:1c-->dec:a  "

1.2K10

C语言实例_文件内容加密与解密

解密时,可以对文件内容进行校验,如果校验失败则表明文件可能被篡改,从而保证了数据的完整性。 1.2 加密解密原理 加密与解密的原理是基于密码学。...二、代码实现 2.1 异或加密 下面使用C语言实现文件加密和解密功能: #include // 加密函数 void encryptFile(const char* inputPath...解密函数 decryptFile 直接调用加密函数,因为解密操作与加密操作使用相同的异或运算。...2.2 非对称加密算法加密 非对称加密算法涉及到公钥和私钥的使用,下面使用C语言+RSA非对称加密算法实现文件加密和解密功能: #include #include <stdlib.h...RSA_free(publicKey); RSA_free(privateKey); RSA_free(rsa); return 0; } 在上面代码中,使用了OpenSSL库来实现

59630

C语言链表实现

我学数据结构的时候也是感觉很困难,当我学完后我发现了之所以困难时因为我没有系统的进行学习,而且很多教授都只是注重数据结构思想,而忽略了代码方面,为此我写了这些博文给那些试图自学数据结构的朋友,希望你们少走弯路 我尝试用最简单的语言与代码来描述链表...,事实上它本身也很简单 静态单链表实现 下面一部分的讨论都将围绕上面这幅图片展开,既然是逐步实现,我不考虑在开头就让这个单链表完美实现,它将只有两个部分:链表的创建&遍历链表输出 首先我们要知道一些简单的概念...这个疑问你可以自己解答比较好 动态单链表实现 到这里一个简单的链表就已经实现了,但是我们还需要继续改进,因为我们有时候不知道每个节点储存的数据,所以我们就需要一个动态链表了,下面这个将实现把用户输入的数据以链式结构储存...new node; node *head=a; node *tail=c; a->data=9; a->next=b; a->pre=NULL; b->data=17; b->next=...c; b->pre=a; c->data=6; c->next=NULL; c->pre=b; //输出 /*node *print_head=head; while(print_head

5.4K30

C 语言】文件操作 ( 文件加密解密 | 使用第三方 DES 加密解密库 | 头文件导入 | 兼容 C++ 语言 | 加密解密函数说明 )

文章目录 一、导入第三方库头文件 二、头文件说明 1、兼容 C++ 语言 2、头文件导入限制 3、加密解密函数说明 一、导入第三方库头文件 ---- 对文件进行加密 , 将文件中的数据分成若干块 ,...一块一块的进行加密 ; 加密操作 不需要自己开发 , 使用第三方开发的加密函数库 , 执行加密操作 ; 下面代码是导入的加密解密函数库头文件 : /**************************...unsigned char *out_data, int *out_data_len); /** * @brief des_decode DES 解密操作...+ 语言 兼容 C++ 语言 : 为了使该头文件既可以在 C 语言中使用 , 又可以在 C++ 中使用 , 使用如下宏定义 包裹 头文件内容 ; // 兼容 C++ #ifdef __cplusplus...: 防止头文件多次导入 , 将头文件的内容 , 使用下面的宏定义包裹 ; #ifndef _DES_H_ #define _DES_H_ #endif // _DES_H_ 3、加密解密函数说明 加密解密函数说明

1.3K40

四种分组密码操作模式的DES加解密算法——C语言实现

大二的时候写的程序了,代码写的很烂只关注效果的实现了。这么烂的代码估计只有自己能看懂了。...Des.h 实现 des 加密的完整操作,总共十六轮。...pc2置换 for (size_t i = 0; i < 48; i++) { afterkey[i] = cd[pc2_table[i] - 1]; } } 加解密具体实现过程...使用密码分组链接模式解密,发现解密结果正确 密码反馈模式加密 查看密文文件,加密的结果为 // 密文 ciphertext = C0A6F5DCA23ECB12C0B8E0D0D2D245C2 使用密码反馈模式解密...,发现解密结果正确 输出反馈模式加密 查看密文文件,加密的结果为 // 密文 ciphertext = C07A900C9BDD95BF6C603CD5FA270E0C 使用输出反馈模式解密,发现解密结果正确

18910

四种分组密码操作模式的DES加解密算法——C语言实现

大二的时候写的程序了,代码写的很烂只关注效果的实现了。这么烂的代码估计只有自己能看懂了。...Des.h 实现 des 加密的完整操作,总共十六轮。...pc2置换 for (size_t i = 0; i < 48; i++) { afterkey[i] = cd[pc2_table[i] - 1]; } } 加解密具体实现过程...使用密码分组链接模式解密,发现解密结果正确 密码反馈模式加密 查看密文文件,加密的结果为 // 密文 ciphertext = C0A6F5DCA23ECB12C0B8E0D0D2D245C2 使用密码反馈模式解密...,发现解密结果正确 输出反馈模式加密 查看密文文件,加密的结果为 // 密文 ciphertext = C07A900C9BDD95BF6C603CD5FA270E0C 使用输出反馈模式解密,发现解密结果正确

46110

DES加解密-简单原理与go语言实现

image.png 注: 这个是最近的工程实践作业,根据书上理解原理后采用golang语言实现的。 参考: [1] 应用密码学 (卓越工程师计划) 张仕斌 编著 DES加密原理 1....根据教科书上的例子进行编写与测试 IP置换实现 image.png 测试:数据来自教科书 image.png E盒拓展置换实现 通过得到的R32 bit进行E盒拓展置换。...先进行16轮所需密钥生成->IP置换-> 16次轮加密->IP逆置换 解密实现 与加密思路一样,唯一不同的地方在于密钥生成后在轮加密使用时的顺序相反。...Des加解密钥完整测试 image.png 运行 image.png 完整代码 package main import ( "fmt" ) // 是否为debug模式 var debug...<< (j * 8) } } //GetUint64ByBytes(&m[8]) //IPRplace() return out } // Des解密函数实现

90250
领券