最近项目要用到Socket,遇到一些坑,比如频繁发消息收消息,会产生粘包拆包等问题,还有断线重连的问题
2024/11/21 11:25:44 3.18MB socket protobuff
1
结合uCOS-III和循环队列的串口数据收发方式,实时性好。
接收方面,使用STM32的总线空闲中断判断数据包接收完毕并发布消息,使用状态机检查数据包正误。
发送方面,采用中断的方式发送数据,避免程序死等数据发送完毕。
2024/11/18 11:41:43 542KB STM32 uCOS-III USART
1
BurpSuite是用于攻击web应用程序的集成平台,包含了许多工具。
BurpSuite为这些工具设计了许多接口,以加快攻击应用程序的过程。
所有工具都共享一个请求,并能处理对应的HTTP消息、持久性、认证、代理、日志、警报。
2024/11/17 22:26:49 26.15MB burpsuite 注册机
1
C++实现按键精灵-完整版-vs2013-可以跑模拟按键精灵发送键盘消息
2024/11/17 17:45:18 30KB C++ 虚拟按键 按键精灵 vs2013
1
关于MPI、并行计算的总结对比,目录如下:1.并行计算1.1.相关背景1.2.什么是并行计算1.3.主要目的1.4.并行计算与分布式计算1.5.并行的基本条件1.6.主要的并行系统1.6.1.共享内存模型1.6.2.消息传递模型1.6.3.数据并行模型1.6.4.对比分析2.MPI2.1.什么是MPI2.2.MPI的实现2.3.MPI基本函数2.4.MPI功能特点2.5.技术对比分析2.5.1.共享内存模型(以OpenMP为例)2.5.2.分布式内存模型2.6.小结3.问题解释3.1.并行计算和MPI是什么关系?为了实现并行计算,是否使用MPI技术即可实现?3.2.MPI技术原理是什么,即基础设施提供什么样的支持能力?3.3.为了实现并行计算,应用软件需要什么样的特殊设计3.4.什么样的软件需要并行计算4.部分参考资料
2024/11/16 2:14:47 669KB MPI 并行计算 分布式计算
1
第一章绪论  1.1信息、消息和信号  1.2通信、电信及无线电通信  1.3通信系统  1.4通信侦察系统与监测网  1.5无线电监测和通信侦察的主要任务  1.6本书研究内容  第二章噪声  2.1噪声的一般描述  2.2噪声的表示方法  2.3噪声系数  2.4系统的噪声温度  2.5载噪比与信噪比  2.6噪声的一些特性  第三章信号  3.1概述  3.2电信号特性  3.3空间电磁信号的特性  3.4信号的周期平稳特性、运算和网络响应  3.5信号的分割与应用  参考文献  第四章信号电平预测  4.1接收天线的等效电路和接收功率  4.2接收天线特性  4.3传输线与连接器  4.4电平预测  4.5小结  参考文献  第五章超外差接收机  第六章侦察与监测接收机  第七章接收机的几个指标讨论  第八章通信侦察与信号监测功能  第九章测向与定位
2024/11/15 4:21:45 29.12MB 无线电监测 通信 侦察
1
加密算法在信息技术领域中起着至关重要的作用,用于保护数据的安全性和隐私性。
SHA(SecureHashAlgorithm)是一种广泛使用的散列函数,它将任意长度的数据转换为固定长度的摘要值。
SHA512是SHA家族中的一员,提供更强大的安全性能,尤其适合大数据量的处理。
本文将深入探讨SHA512加密算法的原理、C++实现以及其在实际应用中的重要性。
SHA512算法基于密码学中的消息摘要思想,通过一系列复杂的数学运算(如位操作、异或、循环左移等),将输入数据转化为一个512位的二进制数字,通常以16进制形式表示,即64个字符。
这个过程是不可逆的,意味着无法从摘要值推导出原始数据,因此被广泛应用于数据完整性验证和密码存储。
在C++中实现SHA512算法,首先需要理解其基本步骤:1.**初始化**:设置一组初始哈希值(也称为中间结果)。
2.**预处理**:在输入数据前添加特殊位和填充,确保数据长度是512位的倍数。
3.**主循环**:将处理后的数据分成512位块,对每个块进行多次迭代计算,每次迭代包括四个步骤:扩展、混合、压缩和更新中间结果。
4.**结束**:将最后一个中间结果转换为16进制字符串,即为SHA512的摘要值。
C++代码实现时,可以使用位操作、数组和循环来完成这些计算。
为了简化,可以使用`#include`中的`uint64_t`类型表示64位整数,因为SHA512处理的是64位的数据块。
同时,可以利用`#include`中的`memcpy`和`memset`函数来处理内存操作。
此外,`#include`和`#include`库可用于将二进制数据转换成16进制字符串。
以下是一个简化的C++SHA512实现框架:```cpp#include#include#include#include#include//定义常量和初始化哈希值conststd::arraykInitialHashValues{...};std::arrayhashes=kInitialHashValues;//主循环函数voidProcessBlock(constuint8_t*data){//扩展、混合、压缩和更新中间结果}//输入数据的处理voidPreprocess(conststd::string&input){//添加填充和特殊位}//将摘要转换为16进制字符串std::stringDigestToHex(){//转换并返回16进制字符串}//使用示例std::stringmessage="Hello,World!";Preprocess(message);constuint8_t*data=reinterpret_cast(message.c_str());size_tdataSize=message.size();while(dataSize>0){if(dataSize>=128){ProcessBlock(data);dataSize-=128;data+=128;}else{//处理剩余数据}}std::stringresult=DigestToHex();```这个框架只是一个起点,实际的SHA512实现需要填充完整的扩展、混合和压缩步骤,以及处理边界条件。
此外,为了提高效率,可能还需要使用SIMD(SingleInstructionMultipleData)指令集或其他优化技术。
SHA512算法在多种场景下具有广泛的应用,如:-**文件校验**:通过计算文件的SHA512摘要,可以验证文件在传输或存储过程中是否被篡改。
-**密码存储**:在存储用户密码时,不应直接保存明文,而是保存SHA512加密后的哈希值。
当用户输入密码时,同样计算其SHA512值并与存储的哈希值比较,不匹配则表明密码错误。
-**数字签名**:在公钥加密体系中,SHA512可以与非对称加密算法结合,生成数字签名,确保数据的完整性和发送者的身份验证。
了解并掌握SHA512加密算法及其C++实现,对于信息安全专业人员来说至关重要,它不仅有助于提升系统的安全性,也有助于应对不断发展的网络安全威胁。
通过深入学习和实践,我们可以更好地理解和利用这一强大的工具。
2024/11/12 20:26:46 2.14MB 加密算法
1
linux下基于netsnmp写的trap服务器,纯C代码,可解析出trap发送方的地址及trap消息内容,可直接编译和测试。
编译方法为:gcctrap.c-lnetsnmp
2024/11/11 17:42:02 8KB netsnmp trap trap服务器 linux
1
HttpWatch是强大的网页数据分析工具。
集成在InternetExplorer工具栏。
包括网页摘要、Cookies管理、缓存管理、消息头发送/接受、字符查询、POST数据和目录管理功能、报告输出。
内含破解LIC许可文件。
2024/11/10 22:31:46 26.27MB 注册版 破解版 HttpWatch
1
基于UDP协议的文件传输软件,用MFC编写了简单界面,内有注释易理解,实现了消息互传和小文件传输
2024/11/8 15:37:03 1.97MB UDP
1
共 902 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡