写点什么

快来一起玩转 LiteOS 组件:RHas

  • 2022 年 1 月 10 日
  • 本文字数:1347 字

    阅读完需:约 4 分钟

摘要:RHash 是一个 C 语言编写的哈希函数库,用于计算和验证磁力链接和各种消息摘要的控制台实用程序。

 

本文分享自华为云社区《LiteOS组件尝鲜-玩转RHas》,作者:Lionlace 。

 

RHash 是一个 C 语言编写的哈希函数库,用于计算和验证磁力链接和各种消息摘要的控制台实用程序。

程序特点:

 

  • 递归处理目录的能力;

  • 以预定义的(SFV、类 BSD)或用户定义的格式输出;

  • 计算磁链;

  • 更新哈希文件(添加哈希文件中缺少的文件的消息摘要);

  • 一次计算多个消息摘要;

  • 可移植性:该程序在 Linux、Unix、macOS 或 Windows 上的工作方式相同。

Rhash 支持的哈希函数列表:

 

 

使能 RHash Demo

 

在 LiteOS 源码根目录下根据实际使用的开发板,拷贝 tools/build/config/目录下的默认配置文件 ${platform}.config 到根目录,并重命名为.config。

 

继续在 LiteOS 源码根目录下执行 make menuconfig 命令,按如下菜单路径使能 RHash Demo。

 

Demos --->          Security Demo --->                      [*] Enable RHash Demo
复制代码

 

使能 RHash Demo 后会自动使能 RHash 组件。

 

保存退出后,会从 github 上自动下载 RHash 源代码,并从 gitee 上下载适配于 LiteOS 系统的 patch 包,并打入 patch。关于组件下载的详细流程请参考:https://gitee.com/LiteOS/LiteOS_Components#%E5%9C%A8%E7%BA%BF%E7%BB%84%E4%BB%B6%E4%B8%8B%E8%BD%BD%E6%B5%81%E7%A8%8B

 

注:下载需要 Linux 主机可以访问互联网,并安装 git。

编译运行 RHash Demo

 

使能 RHash Demo 后,在 LiteOS 源码根目录下执行 make clean; make -j 命令编译 LiteOS 工程,编译成功后会在 out/{platform}/lib 路径下生成 librhash.a 和 librhash_demo.a 文件,系统镜像文件为 Huawei_LiteOS.bin。

 

以 Cloud_STM32F429IGTx_FIRE 开发板为例来运行 RHash Demo,其他开发板操作请参考快速入门 

 

LiteOS 启动后会运行 RHash Demo,本 demo 演示了 MD5 和 SHA256 两种哈希函数的使用方法。通过计算给定数据的 md5 和 sha256 哈希值,原本数据的哈希值进行比较。给定数据为:

 

#define DEMO_STR "This is Huawei LiteOS RHash Demo.\n"
复制代码

 

在 linux 下新建文件 test.txt,复制 demoStr 的内容到 test.txt 中,并执行以下命令生成 md5 和 sha256 的值:

 

$ md5sum test.txt$ sha256sum test.txt
复制代码

 

获得的 md5 和 sha256 值为:

 

#define MD5_SUM "7990beea258031735be06254cea58a89"#define SHA256_SUM "d56910304664d3d3a439968b020bb465d5de33715cfb109d71704b91f85db30c"
复制代码

 

在 LiteOS 环境中,RHash Demo 运行结果如下:

 

********Hello Huawei LiteOS********LiteOS Kernel Version : 5.1.0build data : Aug 12 2021 10:32:28**********************************OsAppInitcpu 0 entering schedulerapp init!Hello, welcome to liteos demo!RHash demo start to run.Original md5:7990beea258031735be06254cea58a89RHash calculate md5:7990beea258031735be06254cea58a89Original sha256:d56910304664d3d3a439968b020bb465d5de33715cfb109d71704b91f85db30cRHash calculate sha256:d56910304664d3d3a439968b020bb465d5de33715cfb109d71704b91f85db30cRHash demo finished.Huawei LiteOS #
复制代码

 

通过以上例程可知,使用 RHash 计算出来的哈希值与 linux 平台下类似工具的计算结果完全一致。

 

​​点击关注,第一时间了解华为云新鲜技术~

发布于: 刚刚阅读数: 2
用户头像

提供全面深入的云计算技术干货 2020.07.14 加入

华为云开发者社区,提供全面深入的云计算前景分析、丰富的技术干货、程序样例,分享华为云前沿资讯动态,方便开发者快速成长与发展,欢迎提问、互动,多方位了解云计算! 传送门:https://bbs.huaweicloud.com/

评论

发布
暂无评论
快来一起玩转LiteOS组件:RHas