- 博客(34)
- 资源 (1)
- 收藏
- 关注
原创 信息安全5——认证协议
认证:是一个过程,通过这个过程,一个实体可以向另一个实体证明某种声称的属性。协议:在两方或相互协作的多方之间进行通信的过程。因此,一个认证过程也是一个认证协议。认证协议是安全协议的一种。消息认证• 目的:确认消息发送者的身份确认数据完整性• 消息认证与数据完整性区别:消息认证必然涉及通信,而数据完整性不一定包含通信该安全服务可用于存储的数据。消息认证必然涉及确认消息的新鲜性,而数据完整性无此必要,这是因为老数据、重放的旧消息也可能有完善的数据完整性。新鲜的消息指接收者认定的新近发送的消息(收
2023-01-02 15:10:23
818
原创 信息安全3——数字签名和认证
1 )签名:手写签名是被签文件的物理组成部分,而数字签名不是被签消息的物理部分,因而需要将签名连接到被签消息上。2 )验证:手写签名是通过将它与其它真实的签名进行比较来验证而数字签名是利用已经公开的验证算法来验证。数字签名与传统的手写签名有如下不同:数字消息的复制品与其本身是一样的,而手写签名纸质文件的复制品与原品是不同的。数字签名原理公开密钥体制可以用来设计数字签名方案。设用户Alice发送一个签了名的明文M给用户Bob的数字签名一般过程如下:1) Alice用信息摘要函数Hash从M抽取信息
2023-01-02 15:09:44
1456
原创 信息安全2——密码
密码技术概述密码技术是防止信息泄露的技术,是信息安全技术中最重要和最基本的安全技术。密码技术中常用的一些术语:1)明文P(Plaintext ) :可以理解的信息原文。2)加密E(Encryption):用某种方法伪装明文以隐藏它的内容的过程。3)密文C(Ciphertext): 经过加密后将明文变换成不容易理解的信息。4)解密D(Decryption):将密文恢复成明文的过程。5)算法(algorithm) :就是用于加密或解密的方法,在现代密码学中算法就是一个用于加密和解密的数学
2021-04-09 23:48:35
1635
原创 信息安全技术与进展
全球网络安全态势• 数据泄漏• 工业互联网• 硬件安全• 勒索病毒• 电邮安全信息最基本的特征为:信息来源于物质,又不是物质本身;它从物质的运动中产生出来,又可以脱离源物质而寄生于媒体物质,相对独立地存在。信息的性质( 1)普遍性 只要有事物存在,就有信息( 2)无限性 由于事物是无限多样,所以信息也是无限( 3)相对性 对于同一个事物,不同观察者获得不同的信息( 4)传递性 信息可以从一点传递对另一点( 5)变换性 信息是可以变换( 6)动态性 信息是有时效性,可以变
2021-03-29 16:46:17
191
转载 2、RTT Nano配置
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2021-01-29 15:50:31
855
原创 1、RTT Nano初识
RT-Thread Nano是一个极简的硬实时内核,它还具备体积小、启动快速、实时性高、占用资源小等特点。适用于系统资源紧张或是项目功能较为简单,仅需使用RTOS内核,无需丰富功能的场景,且开发时无需额外的辅助工具。基于 Keil MDK 移植 RT-Thread Nano移植 Nano 的主要步骤:1.准备一个基础的 keil MDK 工程,并获取 RT-Thread Nano pack 安装包并进行安装。2.在基础工程中添加 RT-Thread Nano 源码。在 Mana.
2021-01-28 16:24:59
1040
原创 RT-Thread学习笔记一:(main的起始)系统启动代码
//components.c 中定义/* re-define main function */int $Sub$$main(void){ rt_hw_interrupt_disable(); rtthread_startup(); return 0;}1在这里$Sub$$main函数仅仅调用了rtthread_startup()函数。RT-Thread 支持多种平台和多种编译器,而rtthread_startup()函数是 RT-Thread 规定的统一入口...
2020-12-30 18:12:23
2109
转载 STM32——TIM1的TIM1_CH1N通道PWM初始化
TIM1是STM32的高级定时器,功能很强大,它的每个通道都有对应的互补通道用来互补输出PWM。之前没使用过,今天要用来做PWM控制,花了好一番功夫才搞定。记录下初始化代码:void Led_PWM_Init(u16 arr, u32 ckCnt, u16 CCR1_Val){ uint16_t pscValue = 0; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef ...
2020-11-14 22:09:16
6427
原创 基于正点原子将单片机是STM32F103C8T6修改为内部时钟,最后时钟为36M
平时在做项目的时候都用的是外部晶振做为时钟源,想试试用内部RC振荡器做为时钟源,在网上搜了一下如何设置内部时钟,发现资料比较少的。决定将设置内部RC振荡器做为时钟源的方法记录下来。用的单片机是STM32F103C8T6,项目工程是在正点原子的示例代码上修改来的。用一个LED工程测试,在主程序中闪烁LED灯。#include "sys.h"#include "delay.h"#include "usart.h"#include "led.h"int main ( void ){ de
2020-11-13 22:25:29
2441
转载 可控硅初学整理
https://blog.youkuaiyun.com/liulvqaing/article/details/90904200?utm_medium=distribute.pc_relevant_download.none-task-blog-baidujs-2.nonecase&depth_1-utm_source=distribute.pc_relevant_download.none-task-blog-baidujs-2.nonecasehttps://blog.youkuaiyun.com/tjiyu/art
2020-08-13 11:06:22
4441
1
转载 基于STM32的pwmRGB调色程序
http://news.eeworld.com.cn/mcu/ic477174.html#include "LIGHT/Light.h"#include "DELAY/Delay.h"#include "TIMx/TIMx.h"u16 RGB_buffer[69] = {0};/*** 功能:初始灯光* 参数:* brightness:初始化亮度 10-100* colortemp:初始化色温 0-100 * red:R
2020-08-12 17:34:06
6615
原创 运用JTAG引脚应当关闭JTAG功能;
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE); //禁止JTAG保留SWD
2020-08-12 17:31:29
1403
原创 STM32F103的定时器1用作PWM输出————
void TIM1_PWM_Init(u16 arr,u16 psc){ GPIO_InitTypeDef GPIO_InitStructure; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1 | RCC_APB2Periph_GPIOA, ENABLE); //使能定时器.
2020-08-10 17:18:41
8252
2
转载 Ethercat 从站开发总结四:从站硬件分析
之前的ethercat概述在这推荐一位博主,个人觉得写的很细,文末还有书籍推荐:https://blog.youkuaiyun.com/chenweizhen1991/article/details/104840960
2020-07-27 14:29:09
2353
原创 Ethercat 从站开发总结五:给每个从站一个名字——xml描述文件ESI(EtherCAT Slave Information)
从站设备描述文件ESI(EtherCAT Slave Information)是EtherCAT从站设备的配置文件,文件为XML格式。XML文件编写好后,通过主站程序下载到从站设备的EEPROM中,通过I2C总线与ET1100芯片内部的寄存器进行数据交换,实现配置信息的读取。从站设备描述文件的主要功能是描述EtherCAT从站的配置信息,主要包含以下两个部分内容:EtherCAT从站制造商信息和therCAT从站描述信息。从站设备描述文件的结构图如图所示。第一部分描述制造商信息,可以通过注册ETG协会会
2020-07-27 10:00:50
10599
原创 stm32——独立看门狗
出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的模块或者芯片,俗称“看门狗”(watchdog) 。STM32内置两个看门狗(独立看门狗/窗口看门狗)独立看门狗(IWDG)由专用的低速时钟(LSI)驱动,即使主时钟发生故障它仍有效。独立看门狗适合应用于需要看门狗作为一个在主程序之外能够完全独立工作,并且对时间精度要求低的场合。窗口看门狗由从APB1时钟分频后得到时钟驱动。通过可配置的时间窗口来检测应用程序非正常的过迟或过早操作。窗口看门.
2020-07-18 14:13:06
259
原创 Ethercat 从站开发总结三:应用层
应用层:首先需要明确的一点,这里的应用层和我们手机、电脑上的应用程序不是一个东西。最为常见的应用层协议就是HTTP。简单来说,应用层是对数据的一种格式约定。应用层在EtherCAT 通信协议层次结构中是与用户联系最紧密最直接的一层,EtherCAT应用层为各种服务协议与应用程序之间定义了接口,使其能够满足应用层所要求的各种协议共同工作的需求。支持CANopen 协议中的CiA402,以及SERCOS 协议的应用层(即CoE 和SoE)等多种符合行规的设备和协议。CoE (CANopen over Et.
2020-07-17 17:39:15
2263
原创 Ethercat 从站开发总结二:通讯地址
Ethercat有那么多从站,那么主站究竟如何判断每个从站的呢?一、EtherCAT 寻址方式1.网段寻址EtherCAT 主站与网段之间存在着不同的寻址方式,利用以太网数据帧头的 MAC 地址来寻址就是EtherCAT 网段寻址。具体的方式有以下两种。开发模式:主站设备通过以太网交换机与EtherCAT 网段进行连接,网段即可使用EtherCAT数据帧当中的目的地址来作为MAC 地址。直连模式:主站设备通过与EtherCAT网段的直接端口连接来对对MAC地址进行广播。2..
2020-07-17 17:22:29
5107
3
原创 Ethercat 从站开发总结一:协议总结
一. EtherCAT 协议概述EtherCAT名称中的CAT为Control Automation Technology(控制自动化技术)首字母的缩写。每个从站设备都具有可编址的内存,其容量最大可为64KB,能够对其进行连续的或同步的读写操作。可以把多个EtherCAT命令数据嵌入到同一个以太网数据帧中,每个数据对应不同的设备或内存区。二. EtherCAT 系统组成全双工传输特性。使用主从模式进行访问控制,主站把数据帧发送给各个从站,每个从站从数据帧中读取自己的数据或把需要输入的数据插入
2020-07-17 16:53:38
5638
原创 路由器该如何选择
今天放假回家发现家里八百年没碰过的路由器不行了,也是当时办网时人家送的,这已经很不错了。考虑一下换一个好的吧。特地区学习了一番,找了相关路由器的分析配件和品测资料。下面就长话短说,把我知道的以最简单的方式告诉你——没错,按照你的需求推荐给你路由器!!首先我们来看路由器上的参数 802.11n 和 802.11ac ;你现在去买路由器也就大多后面的了毕竟更新换代很快,后一款带有5G。要说...
2018-08-26 15:39:45
1366
原创 实现一个函数:取出一个全路径文件名中的文件名部分。
函数原型如下/* 【in】 pszFullPath 全路径文件名 【out】pazPathName 接受全路径的缓冲区【out】nCount 缓存区大小*/int ExtractFilePath(char *pszFullPath, char *pszPathName, int nCount); ...
2018-08-26 14:54:55
970
原创 C语言:栈与队列
1. 栈的优缺点。答:优点:由于栈只允许栈顶进出元素,栈的顺序存储结构很方便,不存在线性表插入和删除时需要移动元素的问题。缺点:需要先确定数组存储空间的大小,万一不够用需要编程手段来扩展数组的容量。2.两个栈共享空间时,栈满的判断?答:top1 + 1 = top2;3.链栈与单链表的关系。答:链栈的栈顶放在链表的头部,此时,单链表的头结点也就没有了意义,通常不需要头结点。...
2018-02-04 15:23:19
1370
原创 程序员面试题2
1.关键字const的含意,有什么作用?答:const是一个修饰符,被修饰的对象或者变量是不可修改的,也就是说const可读不可改,const在谁的后面const就修饰谁,如果const在最前面,那么将const后移一位即可,二者是等效的。const一定可以修改吗?const int a = 10;int *p = &a;*p = 8;则此时会有警告但打印a = ...
2018-02-02 14:19:24
355
原创 线性表——链表
1.数组长度和线性表长度区别?答:数组的长度是存放线性表的存储空间的长度,存储分配后这个量是一般是不变的。有个别同学可能会问,数组的大小一定不可以变吗? 我怎么看到有书中谈到可以动态分配的一维数组。是的,一般高级语言,比如C.VB、C++都可↓人用编程手段实现动态分配数组,不过这会带来性能上的损耗。线性表的长度是线性表中数据元素的个数,随着线性表插入和删除操作的进行,这个量是变化的。在任意时刻...
2018-01-31 22:07:32
167
原创 内存泄漏, 内存空洞(内存碎片)
内存泄漏:在堆空间, malloc/free要分配使用。要是内存分配了我们不释放称为内存泄漏; 内存泄漏多了迟早会出现Out of memory的错误,再分配内存就会失败。淡然释放时也只能释放分配出来的空间,释放无效的内存或者重复释放都是不行的,会造成程序crash。分配多少内存用多少,不管读写,读多了会读到随机数据,写多了会造成随机破坏,这种情况我们称为缓冲区溢出。这是非常严重的,大...
2018-01-31 15:56:03
2646
原创 程序员面试问题
1.系统调用与库函数的区别?答:库函数是语言本身的一部分,而系统函数是内核提供给应用程序的接口,属于系统的一部分。函数库调用是语言或应用程序的一部分,而系统调用是操作系统的一部分。用户应用程序访问并使用内核所提供的各种服务的途径即是系统调用。在内核和用户应用程序相交界的地方,内核提供了一组系统调用接口,通过这组接口,应用程序可以访问系统硬件和各种操作系统资源。 1.系统调用是为了方便应用...
2018-01-31 15:36:43
274
原创 "I am from shanghai"的多种倒序输出方式,“shanghai from am I”
1.指针,遇到空格对单词进行倒序,最后对字符串倒序。#include <stdio.h>#include <string.h>#include <stdlib.h>#define SIZE 5int main(){ char str[]= {"i am from shanghai"}; char *p1 = str; cha...
2018-01-30 16:25:17
659
原创 内存管理,预处理,结构体
1.系统内存空间如何分配?答:(1)数据段:bss段,data段,rodata段。 bss段:存放那些没有初始化和初始化为0的全局变量;其只占用运行时的内存空间而不占用文件空间。在整个运行周期bss数据一直存 data段:存放初始化为非0的全局变量;其既占文件空间又占内存空间。在整个运行周期内一直存在。rodata段:在多个进程间共享,提高空间利用率,甚至不占用RAM空间。同...
2018-01-29 14:19:05
147
原创 指针
1.出现野指针的后果是什么?答:你的数据会出现危险,存放在堆中的数据,可能会被破坏,用来处理堆的数据结构,也可能会被破坏,甚至操作系统的数据也可能会被修改,甚至有时上述三种破坏情况,都会同时出现。 此后可能发生的事情,取决于,这样亮点,第一,内存中的数据,被破坏的程度有多大,第二,内存中的被破坏的部分还要被使用多少次。2.指针在系统中的纯在。答: (1)系统为指针分配内存空间,...
2018-01-27 22:37:05
155
原创 有n个人围成圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,最后留下的是原来第几号的那位.
这是刚开始学C语言的经典问题,下面还参考了网上的答案,有三种总结如下: 1.用数组做,数组地址与对应值不变,用另外两个变量对数到3的进行判定;#include<stdio.h> int main(){ int a[100]; int i,n,p=0,q; printf("input number:"); scanf("%d",&...
2018-01-27 16:52:11
775
原创 数组与函数
1.c语言里数组与指针。答:数组名就是数组在内存存放的数组首元素地址。指针变量也可以放数组的首地址数组元素的地址。指针变量可以指向数组或数组元素。指针与数组能够非常和谐的一起工作。 2.为什么在c语言程序中有时要用到&a[MAX]?答:人们习惯通过指针遍历一个数组中的所有元素,例如 for(p=a;p<&a[MAX];++p) { /*do som...
2018-01-25 20:39:57
463
原创 数据类型初学时发现的问题
1.已经赋值的字符串指针“*str="hello world"”,可以再将“*str="goodbye world"”赋值给他吗?答:不能,错误有二。 (1)不能向常量里写数据。“hello world”是字符串常量,该字符串空间里的常量不能被改变。 (2)指针变量放地址,字符串是以首地址为地址。这里将一个字符串地址想要写到一个字符 的地址里了。 2.局部变量的特点答:...
2018-01-23 21:10:51
154
原创 Linux的基本命令的运用
一·文件处理命令1.cat:用于连接并显示指定的一个和多个文件的有关信息。权限:所有用户。 格式:ca【optinns】 文件1 文件2 【options】参数 -n:第一行开始对所有输出行编号 -b:和-n相似,但对于空白行不编号-s:遇到两行以上的空白行就用一行空白行代替 举例:(1)#cat README 在命令行下看一下文件README的内容 ...
2018-01-23 16:06:10
210
QF-stm8旗舰版光盘V2.zip
2020-07-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人