0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

用C语言写出简单的加密算法

FPGA之家 来源:FPGA探索者 作者:FPGA探索者 2022-05-16 10:20 次阅读

【简答题-9】

有一套四位数加密系统,输入四位数以后会自动加密。加密规则如下:每位数字都加上 5,然后用和除以 10的余数代替该数字,分别再将第一位和第四位交换、第二位和第三位交换,请用 C 语言写出此加密算法

分析要点

1. 准备使用多次循环输入,while 循环,并且指定一个输入退出机制,用 break 退出外部的 while

2. sacnf 输入时,一定注意对于 int、unsigned int 等类型的数据需要使用& 取地址符号,而对于字符数组或者字符串是不需要用&,直接给变量名;

scanf("%d",&data_in);//注意&取地址符号scanf("%s",data_in);//对于字符串,字符数组,变量名就是数组首地址

3. 对一个四位数取每一位的数据,应该依次取模后取除法;

4. 输出要按指定格式输出,考虑输出结果是 0 或者 12 等不足 4 位数的情况,需要在前面补零,即输出 0000、0012 等;

printf("data_out = %04d

",data_out);

注意 printf 输出和 scanf 输入的不同,printf 直接是变量名,scanf 是 &+变量名;

编程结果

#include int main(){  int data_in;  char A, B, C, D;  char A1, B1, C1, D1;  int data_out;
  while(1) {    printf("please input data_in: ");     scanf("%d",&data_in);        // 输入 11111 表示退出if(data_in==11111){      printf("Exit
");      // break 退出了 while 循环      break;                  }        // 取出 四位数    A = data_in / 1000;            B = (data_in % 1000) / 100;    C = (data_in % 100) / 10;    D = (data_in % 10);
    // 加 5 求 余数    A1 = (A + 5) % 10;            B1 = (B + 5) % 10;    C1 = (C + 5) % 10;    D1 = (D + 5) % 10;
    // 位交换 + 拼接       data_out = D1*1000 + C1*100 + B1*10 + A1;//指定格式输出,输出4位,不够4位的前面补零到 4 位// 比如 0,指定格式输出 0000    printf("data_out = %04d

",data_out);     }  return 0;  }

fc7b3fc4-d4ac-11ec-bce3-dac502259ad0.png

原文标题:一道简简单单的 C 语言编程题

文章出处:【微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    180

    文章

    7604

    浏览量

    136648
  • 编程
    +关注

    关注

    88

    文章

    3613

    浏览量

    93683
  • 加密算法
    +关注

    关注

    0

    文章

    215

    浏览量

    25540

原文标题:一道简简单单的 C 语言编程题

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    汽车遥控加密算法

    本人在公司主要做国内整车厂的遥控器,主要是keeloq,Hitag2 ,Hitag3 ,AES加密算法,想请教下论坛里的大牛,像奥迪,奔驰,宝马等豪车的遥控器用什么加密算法?
    发表于 02-17 21:04

    有没有适合单片机简单高效加密算法

    单片机适用的一种简单高效加密算法
    发表于 03-17 07:11

    如何去实现DES加密算法

    DES算法简单原理是什么?如何去实现DES加密算法
    发表于 04-26 07:14

    DES加密算法是什么

    一、加密算法1、 DES加密算法DES数据加密标准,是一种使用密钥加密的块算法。DES中的密钥key为8个字节64位,但每第8个为校验位不参
    发表于 07-22 09:13

    对称加密算法是什么

    对称加密算法也叫私钥加密算法,其特征是收信方和发信方使用相同的密钥,即加密密钥和解密密钥是相同或等价的。非对称加密算法也叫公钥加密算法。其特
    发表于 07-22 07:09

    浅谈对称加密算法与非对称密钥加密算法

    什么是对称密钥密码体制?对称密钥密码体制的缺点是什么?非对称加密算法又是什么?非对称加密算法的缺点是什么?
    发表于 12-23 06:05

    基于STM32的C语言SHA256加密算法相关资料下载

    标题基于STM32的C语言SHA256加密算法本文博客链接:作者:zsj ,转载请注明.项目中用到了一个新的加密算法(SHA256),我之前只用过AES的
    发表于 02-14 06:48

    利用汇编语言实现DES加密算法

    利用汇编语言实现DES加密算法 DES算法是一种数据加密算法。自从1977年公布以来,一直是国际上的商用保密通信和计算机通信的最常用的加密
    发表于 04-07 09:24 1247次阅读

    采用多种加密算法的文件加密方法

    针对传统文件加密系统中加密算法单一、加密文件格式简单、安全性相对较低的问题,本内容提出了采用多种加密算法的文件
    发表于 05-26 15:35 0次下载
    采用多种<b class='flag-5'>加密算法</b>的文件<b class='flag-5'>加密</b>方法

    XXTEA加密算法的KEIL C实现

    本内容提供了XXTEA加密算法的KEIL C实现,详细列出了程序共大家学习
    发表于 08-25 17:57 3313次阅读

    C 语言描述AES256 加密算法

    作者:Adam Taylor 首席工程师 e2v 公司 aptaylor@theiet.org C 语言描述AES256 加密算法,然后在硬件中加速性能。 高级
    发表于 01-13 11:39 2494次阅读
    <b class='flag-5'>用</b><b class='flag-5'>C</b> <b class='flag-5'>语言</b>描述AES256 <b class='flag-5'>加密算法</b>

    c语言实现des加密算法详细过程

     摘要:DES算法为密码体制中的对称密码体制,又被称为美国数据加密标准,是1972年美国IBM公司研制的对称密码体制加密算法。明文按64位进行分组,密钥长64位,密钥事实上是56位参与DES运算。它将64位输入经过一系列变换得到
    发表于 12-10 11:28 3.5w次阅读
    <b class='flag-5'>c</b><b class='flag-5'>语言</b>实现des<b class='flag-5'>加密算法</b>详细过程

    Go常用的加密算法详细解读

    【导读】本文介绍了常用的加密算法,并对这些加密算法结合实际 golang 代码段进行了详细解读。 前言 加密解密在实际开发中应用比较广泛,常用加解密分为:“对称式”、“非对称式”和”数字签名
    的头像 发表于 09-01 14:47 2982次阅读

    基于STM32的C语言SHA256加密算法

    标题基于STM32的C语言SHA256加密算法本文博客链接: 作者:zsj ,转载请注明. 项目中用到了一个新的加密算法(SHA256),我之前只用过AES的
    发表于 12-09 14:36 35次下载
    基于STM32的<b class='flag-5'>C</b><b class='flag-5'>语言</b>SHA256<b class='flag-5'>加密算法</b>

    C加密算法的实现

    电子发烧友网站提供《C加密算法的实现.pdf》资料免费下载
    发表于 09-20 11:10 1次下载
    <b class='flag-5'>C</b><b class='flag-5'>加密算法</b>的实现