AVB Digest转换成ASCII码
生活随笔
收集整理的這篇文章主要介紹了
AVB Digest转换成ASCII码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
有AVB驗證過程中,有時候要計算最后計算出來的digest,是否和calculate_vbmeta_digest命令計算的值相等,需要將十六進制的數據轉換成ascii碼
轉換的方法如下
char Digest[32] = {0xa,0xb,0xc,0xd,0x1,0x2,0x3,0x4,0x1,0x2,0x3,0x4,0x1,0x2,0x3,0x4,0x1,0x2,0x3,0x4,0x1,0x2,0x3,0x4,0x1,0x2,0x3,0x4,0x1,0x2,0x3,0x4};char HexDigits[17] = "0123456789abcdef";char* HexData = NULL;size_t n;HexData = malloc(32 * 2 + 1);for (n = 0; n < 32; n++) {HexData[n * 2] = HexDigits[Digest[n] >> 4];HexData[n * 2 + 1] = HexDigits[Digest[n] & 0x0f];}HexData[n * 2] = '\0';printf("%s\n", HexData);運算結果:
0a0b0c0d01020304010203040102030401020304010203040102030401020304
實際項目上可能是經過avb的幾個函數計算轉換后的
AvbSHA256Ctx Ctx; avb_sha256_init (&Ctx); avb_sha256_update (&Ctx, vbmeta_data, vbmeta_size);char* RotDigest = NULL; RotDigest = avb_sha256_final(&Ctx);然后把RotDigest替換掉我們前面中的Digest字符數組,就可以得到和calculate_vbmeta_digest命令一樣的值了,calculate_vbmeta_digest命令的使用方法見我前面寫過的AVB2 avbtool.py腳本常用命令
總結
以上是生活随笔為你收集整理的AVB Digest转换成ASCII码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WCF系列学习笔记4之绑定详解
- 下一篇: asp.net mvc自动完成