**zlog教程(含源码)** zlog是一款开源的日志库,被广泛应用于嵌入式系统和服务器软件开发中,以其实时性、高效性和易用性而受到开发者们的青睐。本教程将深入探讨zlog的核心功能、使用方法以及如何将其移植到自己的项目中。 **1. zlog简介** zlog是一个C语言编写的高性能日志库,它提供了异步日志记录的能力,可以确保在高并发环境下仍能保持良好的性能。zlog的设计目标是简化日志处理,提供多线程安全、配置灵活、易于扩展的特性,帮助开发者快速定位和解决问题。 **2. zlog核心特性** - **异步日志**:zlog通过内部的线程池实现异步写入日志,避免了因日志写入导致的性能瓶颈。 - **多线程安全**:zlog内部进行了线程安全处理,可以在多线程环境中放心使用。 - **配置灵活**:通过配置文件,可以自由设定日志级别、输出格式、文件路径等参数。 - **模块化设计**:zlog支持模块化日志,每个模块可以独立设置日志级别,便于调试和定位问题。 - **API简洁**:zlog提供的API简单易用,方便集成到各种项目中。 **3. 安装与配置** 从zlog官方网站或GitHub仓库下载源码,例如版本zlog-V1.2.14。解压后,通过以下步骤进行安装: 1. 运行`./configure`配置编译选项。 2. 使用`make`命令编译源码。 3. 使用`make install`将编译好的库文件安装到系统目录。 在项目中使用zlog,需要包含头文件`#include "zlog.h"`,并链接zlog库。 **4. 使用zlog** zlog的使用主要包括初始化、设置日志级别、创建日志上下文和记录日志等步骤: 1. **初始化**:使用`zlog_init`函数初始化zlog配置,通常在程序启动时进行。 2. **设置日志级别**:通过配置文件可以设定全局日志级别,也可以为每个模块单独设定。 3. **创建日志上下文**:使用`zlog_category_new`创建日志类别,每个类别对应一个模块。 4. **记录日志**:调用`zlog`或`zlog_f`函数记录日志,前者用于打印普通文本,后者支持格式化输出。 **5. 移植zlog到项目** 移植zlog主要涉及以下几个步骤: - 将zlog库添加到项目的依赖中。 - 配置项目中的Makefile或构建脚本以链接zlog库。 - 在代码中引入zlog头文件,并根据项目需求初始化和使用zlog。 - 调整配置文件以适应项目的日志输出需求。 **6. 日志管理** zlog可以通过配置文件控制日志的滚动、分割、备份等策略,确保日志文件不会过大,便于管理和查找历史信息。 **7. 性能优化** zlog提供了多种优化选项,如缓存大小、日志队列长度等,可以根据实际情况调整以提高性能。 通过本教程,你应该对zlog有了全面的认识,了解了其主要功能、使用方法以及移植过程。实践是检验真理的唯一标准,动手尝试将zlog应用到你的项目中,相信它会成为你解决问题的好帮手。
2025-06-15 18:31:58 149KB zlog
1
在IT行业中,DLL(Dynamic Link Library)是一种共享库文件,用于存储函数和资源,供多个应用程序同时使用。C#编程语言允许开发者利用DLL文件来实现特定功能,如打印功能。当你需要在C#项目中实现打印功能时,通常会编写对应的DLL源码,然后编译成DLL文件,以便在程序中调用。然而,为了简化开发过程,有时我们可以直接使用已有的DLL源码,这正是"打印dll源码"提供的内容。 这个压缩包文件包含了一个用于打印的C#源代码,你可以下载并直接应用到你的项目中。这样可以避免重复造轮子,节省时间和精力。使用这样的源码,你需要理解其中的类和方法,确保它们符合你的需求,并且能够在你的应用程序环境中正常工作。 在C#中,打印功能通常涉及`System.Drawing.Printing`命名空间,其中包含`PrintDocument`、`PrintController`、`PageSettings`等类。`PrintDocument`是核心类,用于定义要打印的内容和打印设置。`PrintController`管理打印流程,而`PageSettings`允许你指定纸张大小、方向和其他页面布局选项。 源码可能包括以下关键部分: 1. **打印事件处理**:`PrintDocument`类有一个`PrintPage`事件,你需要编写事件处理程序来定义实际打印的内容。在这个事件中,你可以使用`Graphics`对象绘制你要打印的图像或文本。 2. **打印设置**:通过`PageSettings`类,你可以设置纸张大小(如A4)、方向(横向或纵向)以及边距。 3. **启动打印**:调用`PrintDocument`的`Print`方法来开始打印任务。在此之前,可能需要设置`PrintController`和`PageSettings`。 4. **用户界面交互**:如果你的应用需要用户选择打印机或配置打印设置,可以创建一个对话框,让用户进行选择,然后将这些设置应用到`PrintDocument`。 5. **错误处理**:源码还可能包含错误处理代码,以应对打印过程中可能出现的问题,如打印机未连接、纸张不足等。 使用第三方的打印DLL源码时,需要注意以下几点: - **兼容性**:确保源码支持你的目标平台(如.NET Framework或.NET Core)。 - **许可证**:检查源码的许可证,确保在你的项目中使用它是合法的。 - **安全性和性能**:评估源码的安全性,防止引入潜在的安全风险。同时,关注其性能,特别是在大量打印任务时,确保不影响整体应用性能。 - **文档和示例**:好的源码通常会有详细的使用说明和示例,帮助开发者快速理解和集成。 在实际项目中,你可能还需要根据具体需求对源码进行适当的修改和优化。例如,如果源码只支持基本的文本打印,你可能需要扩展它以支持更复杂的文档格式,如PDF或图片。完成这些工作后,将修改后的源码编译为DLL,然后在你的C#应用程序中引用这个新的DLL,即可实现自定义的打印功能。
2025-06-15 17:34:36 198KB
1
在当今信息技术日新月异的背景下,鸿蒙系统作为一款新兴的操作系统,受到了广泛关注。鸿蒙系统不仅仅是一个手机操作系统,其设计理念更倾向于成为跨多种设备的分布式操作系统。该系统的推出,对于智能家居领域而言,是一次重要的技术革新,它预示着未来家居生活将会更加智能和便捷。 智能家居系统作为物联网技术的一个重要应用场景,通过各种传感器、控制器以及网络技术的综合运用,实现了家居环境的智能化控制。用户可以通过智能手机、平板电脑、语音助手等多种方式与家居设备进行互动,从而实现对家电、照明、安防等设备的远程控制与管理。 在鸿蒙系统中,智能家居模块的实训项目是针对开发者设计的,旨在通过实战演练帮助开发者掌握如何在鸿蒙系统中开发智能家居相关的应用程序。实训内容可能包括但不限于对鸿蒙系统的架构理解、智能家居设备的接入与控制、用户界面设计、数据通信、安全性保障等方面的知识。 实训项目中提供的源码为开发者提供了一个可直接运行的智能家居应用框架,可能包含了多个功能模块,如灯光控制、温度监控、安防报警等。这些功能模块都是基于鸿蒙系统独特的分布式架构设计的,使得开发者能够在实训过程中深入理解鸿蒙系统的工作原理及其在智能家居领域中的应用方式。 此外,鸿蒙系统的分布式特性让智能家居设备之间的连接更加紧密,设备间的通信可以更加高效,这不仅提高了用户的使用体验,也为开发者提供了更多的创新空间。在实训过程中,开发者将学习如何利用鸿蒙系统提供的通信机制,编写出能够实现设备间智能互联的代码。 鸿蒙实训-智能家居项目的源码文件可能会包含以下几个部分:项目的基本配置文件,用于设定项目运行环境;设备接入模块,负责与各类智能家居设备进行通信;用户界面文件,提供用户操作的界面;业务逻辑处理模块,负责处理用户与设备间交互的业务逻辑;以及数据存储模块,用于保存用户设置和设备状态信息。 通过鸿蒙实训-智能家居(源码)的学习与实践,开发者不仅可以掌握如何开发出符合鸿蒙系统的智能家居应用,更能够了解在鸿蒙系统架构下进行智能家居开发的全貌,为将来从事相关的开发工作打下坚实的基础。 本次实训提供的源码文件名称为“hm_-smart-home-master”,从文件命名上可以看出,这是鸿蒙智能家居项目的核心源码文件。开发者可以通过对这个主文件的深入研究,掌握整个项目的架构设计和实现逻辑,进一步加强对鸿蒙系统及其在智能家居领域应用的理解和应用能力。 鸿蒙实训-智能家居(源码)项目是鸿蒙系统开发者教育中的一项重要内容,它不仅有助于开发者学习鸿蒙系统在智能家居领域的应用,而且对于整个智能家居行业的发展也具有重要意义。随着鸿蒙系统的不断完善和推广,未来智能家居将会迎来更加广阔的发展空间。
2025-06-15 17:32:53 10.93MB
1
"基于JSP的门禁管理系统源码数据库论文" 本文主要讲述基于JSP的门禁管理系统的设计和实现。门禁管理系统主要用于企业中,用于控制员工的通道访问和通过。管理员可以对企业员工进行门禁的限制,通道可以限定通过的时间和日期,也能对某个特种用户进行限制通行。 系统的主要功能包括审核、权限管理、邮件通知等功能,并提供题目保存、题目查询等功能。系统同时拥有最开放的题库管理系统和最灵活的门禁管理系统,能够自动进行权限的判断,对用户进行冻结。 本系统采用了JSP技术为主要手段,使用了多级角色管理:包括系统管理员、员工。管理员主要是对系统进行一个全面的管理,能够对企业门禁系统的通道信息以及员工通过的名单信息进行管理。员工登录系统后,可以查看自己在某个时间通过通道的信息。 本系统的设计和实现基于JSP技术,使用了Java编程语言,使用了Tomcat服务器作为Web服务器。系统的数据库使用了MySQL数据库管理系统,使用了JDBC技术来连接数据库。 系统的主要模块包括: 1. 登录模块:员工可以通过用户名和密码登录系统,管理员可以通过用户名和密码登录系统。 2. 门禁管理模块:管理员可以对企业门禁系统的通道信息进行管理,包括添加、删除、修改通道信息。 3. 权限管理模块:管理员可以对员工的权限进行管理,包括添加、删除、修改权限。 4. 审核模块:系统可以自动进行权限的判断,对用户进行冻结。 5. 邮件通知模块:系统可以发送邮件通知给员工和管理员。 系统的设计和实现使用了面向对象的设计思想,使用了MVC模式来分离业务逻辑和表示层。系统的数据存储使用了关系数据库管理系统,使用了SQL语言来访问数据库。 本系统的实现可以提高企业的门禁管理效率,提高员工的工作效率,并提供了一个安全可靠的门禁管理系统。同时,本系统也可以作为一种参考,用于其他企业的门禁管理系统的设计和实现。 系统的设计和实现中使用了多种技术,包括JSP、Java、Tomcat、MySQL、JDBC等。这些技术的使用可以提高系统的性能和安全性。 本系统的设计和实现可以满足企业的门禁管理需求,提高员工的工作效率,并提供了一个安全可靠的门禁管理系统。 关键词:门禁管理系统、JSP、Java、Tomcat、MySQL、JDBC、审核、权限管理、邮件通知。
2025-06-15 14:22:49 402KB 毕业设计 Java
1
请配合本人文章:实验六 存储器实验使用,该源码为Logisim所编写,可以直接导入使用。 其中logisim源码,可以直接运行。 主要包含以下logisim电路: 1、常见触发器 2、寄存器 3、计数器 4、ROM 5、RAM 6、多片ROM、RAM组装内存 以下是源码实验内容: 1、常见触发器 触发器具有两个稳定的状态,在外加信号的触发下,可以从一个稳态翻转为另一稳态。这一新的状态在触发信号去掉后,仍然保持着,一直保留到下一次触发信号来到为止,这就是触发器的记忆作用,它可以记忆或存储两个信息:"0"或"1"。 2、寄存器 寄存器的功能是存储二进制代码,它是由具有存储功能的触发器组合起来构成的。一个触发器可以存储1位二进制代码,故存放n位二进制代码的寄存器,需用n个触发器来构成。 3、计数器 计数器可实现正向和方向计数和控制功能。 4、ROM 只读存储器(ROM)是一种在正常工作时其存储的数据固定不变,其中的数据只能读出,不能写入 5、RAM 随机存取存储器(RAM)又可称为读写存储器,它不仅可以存储大量的信息,而且在操作过程中能任意"读"或“写”某个单元信息
1
在VB(Visual Basic)编程环境中,生成二维码是一项实用的功能,特别是在数据交换、移动应用和物联网等领域。本资源提供了一个纯代码实现的二维码生成器,它能够支持不同级别的容错率,包括低、中、高三档,以适应各种应用场景的需求。 让我们了解二维码的基本原理。二维码(Quick Response Code)是一种二维条形码,可以存储比传统一维条形码更多且更复杂的数据,如网址、文本、联系信息等。它的容错机制是为了在部分损毁的情况下仍能正确识别二维码中的信息,容错级别通常分为L(7%)、M(15%)、Q(25%)和H(30%),级别越高,能纠正的错误越多。 在VB中实现二维码生成,我们需要理解编码过程,包括将数据转换为二进制、分配到二维码的模块中,以及根据容错级别添加额外的校验数据。这通常涉及到以下几个步骤: 1. 数据编码:根据二维码的编码规则,将输入的信息(如字符串)转换为特定格式的二进制数据。 2. 版本选择:根据数据长度和容错级别确定二维码的版本,版本越大,能容纳的数据越多。 3. 容错编码:在二进制数据前添加校验位,以确保数据的可靠性。 4. 模块分配:将编码后的二进制数据分布到二维码的网格中,同时根据容错级别填充错误纠正区域。 5. 图像生成:将编码后的二维码网格转换为图像,通常为黑白二值图像,以便扫描设备读取。 在提供的源码中,你可以期待看到如下的函数或类: - `EncodeText` 函数:将文本数据编码为二进制。 - `SelectVersion` 函数:根据数据长度和容错级别选择合适的二维码版本。 - `AddErrorCorrection` 函数:添加错误纠正信息。 - `ModulePlacement` 函数/过程:分配二进制数据到二维码的网格。 - `GenerateImage` 函数:将二维码网格转化为图像。 使用这个源码,开发者可以轻松地在VB应用程序中集成二维码生成功能,无论是为了显示信息、记录数据还是实现与其他系统的交互。 在实际应用中,你可能还需要考虑以下几点: - 调整容错级别以适应不同的场景,例如,户外广告可能需要更高的容错率以应对可能的损坏。 - 处理编码异常,例如无效的输入数据或超出容量限制。 - 将生成的二维码与扫描功能结合,实现数据的自动录入和传输。 - 设计用户界面,让用户可以方便地输入数据并预览生成的二维码。 通过深入理解和使用这个VB二维码生成源码,开发者不仅可以掌握二维码生成的核心技术,还能进一步提升其在软件开发中的实践能力。
1
"易语言-Chrome内核 易语言"是一个关于使用易语言编程实现与Chrome浏览器内核交互的项目。易语言是一种中文编程语言,旨在降低编程门槛,让编程更加简单易懂。这个项目的核心在于通过易语言来操作和控制基于Chrome内核的网络功能,可能涉及到网页加载、数据抓取、自动化测试等多个方面。 我们要理解“Chrome内核”是什么。Chrome内核,也称为Blink内核,是Google Chrome浏览器所使用的网页渲染引擎,负责解析HTML、CSS、JavaScript等Web标准语言,呈现网页内容。它具有速度快、稳定性好、支持Web标准全面等特点,被许多浏览器和应用程序采用。 在易语言中实现对Chrome内核的控制,通常需要调用其提供的API接口或者利用特定的库文件。这涉及到易语言的动态链接库(DLL)调用技术,通过编写函数调用来与Chrome内核进行通信。开发者需要了解Chrome内核的C++ API,并将其转换为易语言的语法结构。 此外,项目中的"网络相关源码"标签提示我们,这个项目可能包含了网络请求、数据传输、HTTP/HTTPS协议处理等功能。在易语言中,这部分可能涉及到了网络模块的使用,如发送GET或POST请求,解析响应数据,处理Cookies等。开发者需要掌握网络编程的基本概念和协议,以及易语言中的网络API。 对于压缩包内的文件"come",这可能是项目的主要代码文件或者包含其他重要资源的目录。通常,源码文件会包含主程序、类库、配置文件等部分,每个部分都有其特定的功能和作用。例如,主程序文件可能负责整体流程的控制,类库文件则封装了各种功能模块,而配置文件用于设置程序运行时的参数。 学习和研究这个项目,开发者不仅可以提升易语言的编程技巧,还能深入理解网络编程和浏览器内核的工作原理。同时,对于想要创建自己的网络应用或自动化工具的人来说,这样的源码分析提供了很好的实践机会。这个项目是一个综合性的易语言实践案例,涵盖了网络编程、浏览器内核接口调用等多个重要知识点,对于提高易语言开发者的综合能力大有裨益。
2025-06-15 13:16:59 20MB 网络相关源码
1
【Web网页设计制作-毕业设计期末大作业】HTML、CSS、JavaScript前端网页项目源码H202.zip这个压缩包包含了一个完整的Web前端项目,旨在帮助学习者理解并掌握网页设计的基本技术和流程。这个项目主要涉及到三个核心的技术:HTML、CSS和JavaScript,这些都是构建现代网页的基石。 HTML(HyperText Markup Language)是网页内容的基础结构语言,用于定义网页的各个元素,如标题、段落、图像、链接等。在这个项目中,HTML文件负责组织和呈现网页的结构和文本信息。学习者可以通过查看HTML代码了解如何创建有效的页面布局,以及如何嵌入图片、链接和其他媒体资源。 CSS(Cascading Style Sheets)是用于控制网页样式和布局的语言。在项目源码中,CSS文件将定义颜色、字体、布局和页面的响应式设计。通过学习CSS,你可以理解如何让网页看起来更美观,如何实现响应式设计以适应不同设备的屏幕尺寸,以及如何使用CSS预处理器如Sass或Less来提高代码的可维护性。 JavaScript是一种强大的编程语言,用于增加网页的交互性和动态功能。在这个项目中,JavaScript文件可能包含了事件处理、数据操作、动画效果等功能。通过学习JavaScript,你可以学会如何创建用户交互,例如点击按钮后的响应、表单验证、滚动效果等。此外,可能还涉及了像jQuery这样的库,它简化了DOM操作和动画创建,使得JavaScript编程更加高效。 在实际的前端开发中,这些技术通常会与现代前端框架或库(如React、Vue或Angular)一起使用,但本项目着重于基础技术,以帮助初学者建立坚实的前端开发基础。完成此项目的学习者不仅能够理解网页的构造原理,还能具备独立创建静态网页的能力,并为进一步深入学习前端框架打下基础。 在这个项目中,你可能还会遇到其他文件,如图片、字体文件或其他静态资源,这些都是构成完整网页不可或缺的部分。同时,源码中的注释和组织结构也是学习良好编码习惯的好例子。 通过这个“Web网页设计制作-毕业设计期末大作业”,学习者可以系统地学习和实践HTML、CSS和JavaScript,从而提升自己的网页设计和开发技能。这不仅对于学术上的毕业设计有所帮助,也为未来的职业生涯提供了宝贵的实践经验。
2025-06-15 11:52:18 424KB
1
PDF阅读器源码是开发人员用于理解和学习PDF文档处理技术的重要资源。这个特定的源码是为在Visual Studio 2010环境下编译和运行而设计的,它能够作为一个独立的应用程序运行,提供基本的PDF查看功能。下面将详细讨论相关知识点。 1. PDF阅读器:PDF(Portable Document Format)是一种广泛使用的文件格式,用于存储和共享具有固定布局的文档。PDF阅读器是能够打开、显示和打印这些文档的软件。开发一个PDF阅读器涉及解析PDF文件的结构,包括文本、图像、链接和交互式表单等元素。 2. 源码分析:源码是编程语言编写的未编译的代码,它提供了软件工作原理的直接视图。通过研究PDF阅读器的源码,开发者可以理解如何处理PDF文件的解析、渲染、滚动、搜索和打印等核心功能。 3. Visual Studio 2010:Microsoft的Visual Studio是一款集成开发环境(IDE),支持多种编程语言,如C#、VB.NET和C++。VS2010版本提供了丰富的工具和调试功能,方便开发者编写、测试和部署应用程序。 4. 独立运行:这里的“独立运行”意味着该PDF阅读器不需要依赖其他外部组件或服务即可执行,这通常通过将所有必要的库和资源包含在应用程序包内实现。 5. 文件列表详解: - app.config:这是.NET应用程序的配置文件,包含应用的设置和配置信息,如连接字符串、日志记录和应用程序的默认行为。 - App.xaml.cs:这是WPF(Windows Presentation Foundation)应用程序的主要入口点,定义了应用程序的行为和生命周期。 - PDFRider.csproj:这是项目文件,包含了项目的编译设置、引用和其他构建信息。 - System.Windows.Interactivity.dll:这是WPF的MVVM Light库的一部分,提供了行为和命令绑定,增强UI交互性。 - GalaSoft.MvvmLight.dll、GalaSoft.MvvmLight.Extras.dll:这两个是MVVM Light库,一个流行的MVVM(Model-View-ViewModel)模式框架,简化了WPF和Silverlight应用程序的开发。 - LocTranslateLibrary.dll:可能是一个本地化和翻译库,用于处理PDF阅读器中的多语言支持。 - CryptoDLL.dll:可能包含了加密和解密功能,用于处理PDF文件的安全特性。 - from.gif:可能是一个图形资源,可能用作应用程序的图标或界面元素。 通过分析这些文件,我们可以看出这个PDF阅读器使用了现代UI设计原则(如WPF和MVVM),并且可能具备一些高级功能,如加密支持和多语言界面。对这些源码进行深入研究,开发者可以学习到如何构建高效、用户友好的PDF阅读器,并可将其应用于自己的项目中。
2025-06-15 11:30:27 882KB PDF阅读器源码 vs2010打开独立运行
1
基于LabVIEW的双通道示波器源码:实现电压、时间精确测量与频谱分析功能,LabVIEW双通道示波器源码:电压时间精准测量与频谱分析工具,labview 双通道示波器源码,电压及时间测量,频谱分析, ,LabView; 双通道示波器; 源码; 电压测量; 时间测量; 频谱分析;,LabView双通道示波器源码:电压、时间测量与频谱分析工具 本文档集合了关于LabVIEW软件开发的双通道示波器源码的研究与开发内容,该示波器源码的核心功能在于精确测量电压和时间参数,并具备频谱分析的能力。LabVIEW是一种图形化编程语言,广泛应用于数据采集、仪器控制以及工业自动化等领域,特别适合用于实现复杂的测量任务和数据分析。 文档详细介绍了双通道示波器源码的设计理念和实现方法,包括了引言部分,该部分强调了双通道示波器源码在电压测量、时间测量以及频谱分析中的应用价值和意义。在电压测量方面,源码能够准确捕获并记录电压变化,为电力系统监控和故障诊断提供了技术支持。在时间测量方面,源码通过双通道的同步采样,能够对快速变化的信号进行精确的时间定位,对于研究动态过程和时间序列分析尤为重要。频谱分析功能则能够对信号进行频域转换,帮助工程师了解信号的频率构成,从而优化信号处理和滤波设计。 文档中还提到了LabVIEW双通道示波器源码的设计与实现,这可能涉及到了软件的编程框架、用户界面设计、数据处理算法等关键环节。设计过程中可能会使用LabVIEW强大的数据处理能力和图形化界面设计工具,以实现直观易用的操作界面和高效准确的数据处理流程。 在技术细节上,双通道示波器源码通过LabVIEW编程环境实现了对信号的实时采集、处理和显示。源码中可能集成了各种信号处理算法,比如数字滤波、信号放大、波形叠加等,这些算法对确保信号质量和测量精度至关重要。此外,源码还可能具备用户自定义的功能,允许用户根据具体需求调整测量参数,优化测量结果。 文档的文件名称列表中包含多个文件,其中包含“双通道示波器源码电压及时间测量与频谱分析一引言”等字样,表明文档可能包含了系列文章或者报告,这些文档不仅涵盖了技术背景、设计思路,可能还包括了一些案例研究、操作指南和设计实现的具体细节。文件列表中还包括了一个图片文件“1.jpg”,这可能是一张示波器界面的截图或者是设计草图,用于直观展示双通道示波器源码的功能和操作流程。 值得注意的是,尽管文档中提到了“哈希算法”,但在给出的文件名称列表中并未明确体现出哈希算法的具体应用。因此,哈希算法在本文档中的角色并不明确,可能是在某些高级功能或安全特性中有所涉及,但这需要进一步的资料来确认。 该文档集合了关于基于LabVIEW的双通道示波器源码的研究与开发内容,详细介绍了其在电压测量、时间测量以及频谱分析中的应用,同时提供了一系列技术文档和设计图纸,对于工程师和科研人员来说具有很高的参考价值。
2025-06-15 10:47:49 1.02MB 哈希算法
1