快来一起玩转 LiteOS 组件:RHas
摘要: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。
使能 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 哈希值,原本数据的哈希值进行比较。给定数据为:
在 linux 下新建文件 test.txt,复制 demoStr 的内容到 test.txt 中,并执行以下命令生成 md5 和 sha256 的值:
获得的 md5 和 sha256 值为:
在 LiteOS 环境中,RHash Demo 运行结果如下:
通过以上例程可知,使用 RHash 计算出来的哈希值与 linux 平台下类似工具的计算结果完全一致。
版权声明: 本文为 InfoQ 作者【华为云开发者社区】的原创文章。
原文链接:【http://xie.infoq.cn/article/fd01843e73290f5e3dc15c28c】。文章转载请联系作者。
评论