zoukankan      html  css  js  c++  java
  • 快来一起玩转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。

    Demos --->
              Security Demo --->
                          [*] Enable RHash Demo

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

    保存退出后,会从github上自动下载RHash源代码,并从gitee上下载适配于LiteOS系统的patch包,并打入patch。关于组件下载的详细流程请参考:

    注:下载需要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.0
    build data : Aug 12 2021 10:32:28
    **********************************
    OsAppInit
    cpu 0 entering scheduler
    app init!
    Hello, welcome to liteos demo!
    RHash demo start to run.
    Original md5:
    7990beea258031735be06254cea58a89
    RHash calculate md5:
    7990beea258031735be06254cea58a89
    Original sha256:
    d56910304664d3d3a439968b020bb465d5de33715cfb109d71704b91f85db30c
    RHash calculate sha256:
    d56910304664d3d3a439968b020bb465d5de33715cfb109d71704b91f85db30c
    RHash demo finished.
    Huawei LiteOS #

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

     

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

  • 相关阅读:
    湖南省队集训 Day 2
    一句话题解(~ 2020.4.9)
    NOIP 2017 宝藏
    NOIP 2017 逛公园
    bzoj 4767 两双手
    Codeforces Gym 101623E English Restaurant
    浅谈Tarjan算法
    Codeforces 1027F Session in BSU
    Codeforces Gym 101623A Ascending Photo
    2018-2019 ICPC, NEERC, Southern Subregional Contest (Online Mirror) Solution
  • 原文地址:https://www.cnblogs.com/huaweiyun/p/15783768.html
Copyright © 2011-2022 走看看