mbedTLSを使おうとしている。
まずはBash on Windowsで動作確認だ。
サンプルを見ていると、mbedtls_mpiで大きい数字を取り扱うようだ。
元に戻すときはuint8_tなどで取得できるのだが、エンディアンはどうなっているのだろうか?
mbedtls_mpi m; mbedtls_mpi_init(&m); mbedtls_mpi_read_string(&m, 10, "4660"); //0x1234 for (int lp = 0; lp < 16; lp++) { if (mbedtls_mpi_get_bit(&m, lp) == 0) { printf("0"); } else { printf("1"); } } printf("\n"); uint8_t u16[2]; mbedtls_mpi_write_binary(&m, u16, 2); printf("%02x %02x\n\n", u16[0], u16[1]); mbedtls_mpi_free(&m);
結果
0010110001001000
12 34
ほう、そう来るか。
ビット0は、一番下のビットになるんだ。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。