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

    文章

    7524

    浏览量

    128109
  • 编程
    +关注

    关注

    88

    文章

    3439

    浏览量

    92368
  • 加密算法
    +关注

    关注

    0

    文章

    205

    浏览量

    25414

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

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

收藏 人收藏

    评论

    相关推荐

    RC4加密算法的FPGA设计与实现

    ,它的局限性也逐渐暴露出来.在很多计算机信息安全系统中,硬件加密手段被应用到设备中来提高密码运算速度和系统的安全性. 给出了一种RC4加密算法的FPGA实现方案,相比软件实现,该方案速度更快,安全性更高
    发表于 08-11 11:48

    汽车遥控加密算法

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

    Labview实现的小RSA加密算法

    最近看了RSA加密算法,对陷门单向函数兴趣颇浓,于是labview做了个RSA加密小程序。首先通过算法对数字进行加密解密,然后通过把文本转
    发表于 06-04 18:51

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

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

    如何去实现DES加密算法

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

    uid加密算法

    uid加密算法,1.STM32可以加密程序,不然可能有被窃取的可能JTAG 可以直接通过J-LINK-FLASH获取代码,首先新建工程,型号选好,read back即可save data fileUID加密函数,在我的链接里,一
    发表于 07-19 08:23

    DES加密算法是什么

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

    对称加密算法是什么

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

    最强加密算法?AES加密算法的Matlab和Verilog实现 精选资料推荐

    目录背景AES加密的几种模式基本运算AES加密原理Matlab实现Verilog实现Testbench此文重点讲述了AES加密算法加密模式和原理,
    发表于 07-28 07:34

    软件加密算法都有哪些,这些算法在哪些方面得到了应用

    伴随着人工智能、物联网时代的到来,数据应用变得频繁起来,数据安全应该如何保护?软件加密算法都有哪些,这些算法在哪些方面得到了应用?慢慢读下去,你会发现围绕在我们身边的“小密码”。对称加密算法对称
    发表于 12-21 07:04

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

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

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

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

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

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

    labview md5加密算法.llb

    md5加密算法 md5加密算法 md5加密算法 md5加密算法
    发表于 05-25 14:25 102次下载

    常见公钥加密算法有哪些

    RSA、ElGamal、背包算法、Rabin(Rabin的加密法可以说是RSA方法的特例)、Diffie-Hellman (D-H) 密钥交换协议中的公钥加密算法、Elliptic Curve
    发表于 12-10 09:41 4.3w次阅读