自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 资源 (6)
  • 收藏
  • 关注

转载 SSL/TLS历史、mbedtls基础及其应用

摘要 SSL/TLS加密的介绍,重点是mbedtls的基础以及移植说明。 1、引言 1.1 为什么要加密 互联网是开放环境,通信双方都是未知身份,为通信双方的有效信息不被第三方窃听、篡改或者被冒充身份进行通信,需要为信息加上保护措施。也就是对所有信息都进行加密,避免被第三方窃听;采用校验机制,可以识别出信息是否被篡改,配备身份认证防止被冒充身份。互联网的通信安全,就是建立在SSL/TLS协议之上。 1.2 SSL/TLS协议的历史 1996年,在前面的基础上,SSL 3.0版问世并得到大规模应用;

2021-10-29 23:13:32 2226

转载 AES加密算法介绍及C语言示例

需要与外界进行数据交互传输的电子产品,为保证数据安全,一般会对明文进行加密处理。总的来说就是将真正需要传输的内容转换成无法理解的数据,接收方通过预先定义的方式还原,防止第三方截取篡改。比如欧盟对数据隐私有严格的条例GDPR标准。加密算法很多,对于简单的嵌入式产品,使用对称加密算法,即加密和解密使用相同的秘钥,方便快捷。AES就属于这种,虽然存在一定风险,但对于个人消费产品已满足安全需求。 不考虑算法实现本身,本文只针对应用进行说明。 1、秘钥类型 AES加密按秘钥的长度分为128位(比特)、192位

2021-10-29 23:12:00 15727 4

转载 什么是Base64?(附C语言示例)

一、什么是Base64?         百度百科中对Base64有一个很好的解释:“Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法”。         什么是“可打印字符”呢?为什么要用它来传输8Bit字节码呢?在回答这两个问题之前我们有必要...

2021-10-28 15:33:04 1265

转载 CRC校验原理及其C语言实现

目录 前言CRC算法简介CRC计算CRC校验CRC计算的C语言实现CRC计算工具总结 前言 最近的工作中,要实现对通信数据的CRC计算,所以花了两天的时间好好研究了一下,周末有时间整理了一下笔记。 一个完整的数据帧通常由以下部分构成: 校验位是为了保证数据在传输过程中的完整性,采用一种指定的算法对原始数据进行计算,得出的一个校验值。接收方接收到数据时,采用同样的校验算法对原始数据进行计算,如果计算结果和接收到的校验值一致,说明数据校验正确,这一帧数据可以使用,如果不一致,说明传输过程中出现..

2021-10-26 21:39:55 552

原创 md5算法实现及C语言使用示例

网上可以直接搜索到源文件md5.c和头文件md5.h,直接拷贝下来使用即可。接着就可以编写测试代码进行验证:文件1:md5.h#ifndef MD5_H#define MD5_H typedef struct{ unsigned int count[2]; unsigned int state[4]; unsigned char buffer[64]; }MD5_CTX; #define F(x,y,z) ((

2021-10-24 22:13:23 778

转载 Linux:insmod加载驱动模块传递参数方法

今天在移植电机驱动的过程中,发现编译脚本在加载该驱动模块的时候,却带的有参数,当时就有点纳闷了。然后经过一段时间的各种查找,终于知道加载驱动模块时传递参数的奥妙;1、应用层在应用程序中,我们通过命令行给main函数传递参数,而在加载驱动模块时,我们可以使用module_param()来传递参数;例如在如下程序段中int main(int argc,char *argv[ ]){ printf("argv[0] %s\n",argv[0]); printf("argv[1] %s\n",argv

2021-10-13 23:02:07 3921

av-flv-demux-h264-aac-master.zip

将FLV文件解封装(demux)得到文件中的H264数据和AAC数据(纯手工,不依赖第三方开源库)

2024-07-09

av-flv-mux-h264-aac-master.zip

将h264数据和aac数据封装(mux)成FLV文件(纯手工,不依赖第三方开源库)

2024-07-09

av-ts-mux-with-h264-aac-master.zip

将h264数据和aac数据封装(mux)成TS文件(纯手工,不依赖第三方开源库)

2024-07-09

av-mp4-unpack-with-mp4v2-master.zip

使用libmp4v2解封装(demux)出mp4文件中的h264视频数据和aac语音数据

2024-07-09

av-mp4-pack-with-mp4v2-master.zip

使用libmp4v2将h264视频数据和aac语音数据封装(mux)成mp4文件

2024-07-09

audio-pcm-flac-enc-dec-master.zip

使用开源项目LibFLAC来将PCM格式数据和FLAC无损压缩格式进行编解码。

2024-07-08

audio-pcm-vorbis-enc-dec-master.zip

使用pcm数据跟ogg vorbis格式相互编解码。

2024-07-08

Audio-pcm-opus-enc-dec-master.zip

将PCM与opus数据相互进行编解码

2024-07-08

Audio-pcm-speex-enc-dec-master.zip

将PCM数据和Speex数据进行相互编解码

2024-07-08

audio-mp32pcm-with-libmad-master.zip

使用开源项目libmad来将MP3数据解码码成PCM数据。

2024-07-08

audio-mp32pcm-with-libmp3lame-master.zip

使用开源项目lame来将MP3数据解码码成PCM数据。

2024-07-08

audio-pcm2mp3-with-libmp3lame-master.zip

使用开源项目lame来将PCM数据编码成MP3数据。

2024-07-08

audio-pcm-g726-convert-master.zip

将16位小字节序的PCM数据与g726数据进行相互转换。

2024-07-08

audio-pcm-alaw-ulaw-g711-convert-master.zip

16位小字节序的PCM数据与alaw/mulaw/g711数据的相互转换程序。

2024-07-08

audio-aac2pcm-with-faad2-master.zip

使用的开源项目faad2将aac数据解码成pcm数据。

2024-07-08

audio-pcm2aac-with-fdk-aac-master.zip

使用fdk-aac将16位小字节序的PCM数据编码成aac数据。

2024-07-08

audio-pcm2aac-with-faac-master.zip

使用faac将16位小字节序的PCM数据编码成aac数据。

2024-07-08

audio-pcm-channel-merge-master.zip

基于16位小字节序的PCM数据左右声道合并程序。

2024-07-08

audio-pcm-channels-split-master.zip

基于16位小字节序的PCM数据左右声道分离程序。

2024-07-08

audio-pcm-amrwb-enc-dec-master.zip

使用opencore-amr和vo-amrwbenc将16位小字节序的PCM数据与AMR-WB数据进行相互编解码。

2024-07-08

audio-pcm-amrnb-enc-dec-master.zip

使用opencore-amr将16位小字节序的PCM数据与AMR-NB数据进行相互编解码。

2024-07-08

audio-pcm-wav-convert-master.zip

将16位小字节序的PCM数据与wav数据(文件)进行封装与解封。

2024-07-08

audio-pcm2wav-master.zip

将16位小字节序的PCM数据封装成wav格式文件(不依赖第三方库)。

2024-07-08

bluez协议栈移植.zip

bluez协议栈移植.zip

2024-01-03

Linux WiFi调试工具(含多种编译方法)

Linux WiFi调试工具(含多种编译方法)

2024-01-03

mjpg-streamer-1.0.0_有注释.zip

mjpg-streamer开源项目里面包含很多Linux软件编程知识,包含so动态库的操作、线程的创建与同步、UDP网络编程、V4L2应用编程.... 压缩包内容包如下: mjpg-streamer-1.0.0.tar.gz mjpg-streamer-1.0.0_有注释.zip README.txt

2021-05-05

RK3399 安卓Q适配EC20 4G模块资料

压缩包内包含以下内容: logcat -b radio -v time.log(适配成功的log) Quectel_Android_RIL_Driver_User_Guide_V1.9.pdf Quectel_Android_RIL_Driver_V3.2.2_master_beta.tgz Quectel_WCDMA&LTE_Linux_USB_Driver_User_Guide_V1.8.pdf reference-ril Rockchip_Introduction_4G_Module_Configuration_CN&EN.pdf

2021-05-01

Linux WiFi调试工具的使用

wifi_debug_tools ├── dhcp-4.2.6.tar.gz ├── hostapd-2.9.tar.gz ├── iw-3.11.tar.gz ├── libnl-3.2.25.tar.gz ├── openssl-1.1.1g.tar.gz ├── README.txt ├── wireless_tools.29.tar.gz └── wpa_supplicant-2.7.tar.gz 使用方法见README。

2021-05-01

交叉编译dbus/glib/dbus-glib

. ├── dbus-1.12.20.tar.gz ├── dbus-glib-0.106.tar.gz ├── expat-2.3.0.tar.bz2 ├── glib-2.34.1.tar.xz ├── libffi-3.3.tar.gz ├── README └── zlib-1.2.11.tar.gz

2021-04-15

编译buildroot-2020.02.9.tar.bz2时自动下载所必需的源码

编译buildroot-2020.02.9.tar.bz2过程中自动联网下载到dl目录下的源码,使用这里的源码放到dl目录下可以大大减少编译时间。 book@book-VirtualBox:~/buildroot-2020.02.9$ tree dl/ dl/ ├── acl │   └── acl-2.2.53.tar.gz ├── attr │   └── attr-2.4.48.tar.gz ├── autoconf │   └── autoconf-2.69.tar.xz ├── automake │   └── automake-1.15.1.tar.xz ...

2021-01-30

Linux用户空间“免驱动”读写I2C设备

一般来说,用户空间操作硬件设备都需要驱动的支持,但是在Linux环境中可以从用户空间访问适配器上的所有设备,它是内核的一个通用驱动,所以我们不需要手动写对应的设备驱动也可以访问。 直接从用户空间访问的前提是内核里面配置了i2c-dev,如何判断呢?在命令行里面输入ls /dev/i2c-* 查看是否有对应的设备,如果没有就需要去配置内核kernel,位置如下: Device Drivers ---> -*- I2C support ---> I2C device interface

2020-05-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除