C语言
文章平均质量分 58
笔记啦~
努力的小肥丸
再不快跑,就要迟到了!
展开
-
C语言 实现AES_CBC_128_ZeroPadding 加解密算法
文章目录一、AES算法流程概述二、C语言实现AES算法流程2.1 S盒和逆S盒2.2 轮常量2.3 密钥扩展2.3.1 密钥字代换函数2.3.2 密钥移位函数(字循环 函数)2.3.3 密钥扩展函数2.4 AES加密2.4.1 轮密钥加函数2.4.2 字节代换函数2.4.3 行移位函数2.4.4 列混合变换函数2.4.5 AES加密16字节数据函数2.4.6 AES加密不定长数据函数2.5 AES解密2.5.1 轮密钥加函数2.5.2 逆行移位函数2.5.3 逆字节代换函数2.5.4 逆列混合变换函数2.原创 2022-05-19 17:16:42 · 5003 阅读 · 1 评论 -
C语言实现Unix时间戳和北京时间的相互转换(已编译,亲试可用~)
目录 一、什么是Unix时间戳 一、什么是Unix时间戳 1、unix时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。 2、unix时间戳需要先加上8个小时(即8 * 60 * 60 s)的秒数差,再进行转换得到北京时间。 3、实用工具传送门 → Unix时间戳和北京时间在线转换工具...原创 2021-09-23 17:11:13 · 4878 阅读 · 6 评论 -
C语言实现Cp56time2a时间格式与北京时间的转换 - (已编译,亲试可用~)
CP56time2a的描述CP56time2a是101/104规约中定义的时间格式CP56time2a是七个八位位组二进制时间原创 2021-09-06 17:00:05 · 5171 阅读 · 3 评论 -
C语言实现多字节与整型数据的相互转换 - (已编译,亲试可用)
1、将多字节(2、4、8字节)转换为整型数据(16、32、64位)(举例:2字节 {0x12, 0x34} → 16位整型 0x1234)(举例:4字节 {0x12, 0x34, 0x56, 0x78} → 32位整型 0x12345678)(举例:8字节 {0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56} → 64位整型 0x1234567890123456)/***************************函数名: Ar...原创 2021-08-31 18:30:56 · 7499 阅读 · 0 评论 -
C语言实现ASCII字符、压缩BCD码值与BIN码(16进制)互转 - (已编译,亲试可用)
C语言实现ASCII字符、16进制和BCD码值互转 - (已编译,亲试可用) 将BCD码转为16进制数据//(举例: BCD码 0x56 → 10进制 56 → 16进制 0x38)uint8_t BcdToHex(uint8_t bBcd){ uint8_t bHex; bHex = ((bBcd >> 4) * 10) + (bBcd & 0x0F); return bHex;}...原创 2021-08-27 17:42:40 · 3869 阅读 · 0 评论 -
BIN,BCD,ASCII码分别对应的Hex(16进制)数
BIN,BCD,ASCII码分别对应的Hex(16进制)数 以十进制的 56 为例:BIN 码对应二进制数为 0011 1000对应Hex数据为 0x38BIN码就是二进制数;压缩BCD 码对应二进制数为 0101 0110对应Hex数据为 0x56压缩BCD 码:一个字节可存放一个两位十进制数,其中高四位存放十位数,低四位存放个位数;非压缩BCD 码对应二进制数为0000 0101 0000 0110对应Hex数据为 0x05 0x06非压缩BC原创 2021-08-25 11:31:47 · 7313 阅读 · 0 评论 -
C 语言 static 静态变量
C 语言中 static 静态变量static变量:局部把局部变量改变为静态变量后是改变了它的存储方式,即改变了它的生存期。静态局部变量在函数内定义,生存期为整个源程序,但作用域与自动变量相同,只能在定义该变量的函数内使用。退出该函数后, 尽管该变量还继续存在,但不能使用它。对基本类型的静态局部变量若在说明时未赋以初值,则系统自动赋予0值。而对自动变量不赋初值,则其值是不定的。全局把全局变量改变为静态变量后是改变了它的作用域,限制了它的使用范围。全局变量本身就是静态存储方式,原创 2021-04-21 14:17:00 · 1274 阅读 · 0 评论 -
C语言 结构体Struct 中冒号的用法
C语言 结构体Struct 中冒号的用法本文有部分内容参考菜鸟教程-C结构体 。关于“位域”的说明有些信息在存储时,并不需要占用一个完整的字节,而只需占几个或一个二进制位。为了节省存储空间,并使处理简便,C 语言又提供了一种数据结构,称为"位域"或"位段"。所谓"位域"是把一个字节中的二进位划分为几个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。这样就可以把几个不同的对象用一个字节的二进制位域来表示。结构体表现形式struct 位域结构名 {原创 2021-03-19 17:31:46 · 3988 阅读 · 2 评论