4

我正在尝试使用 openssl dsa 实现,但我对以下细节感到非常困惑:

  • 命令的选项“-text” openssl dsa ....:输出中的十六进制数字,我是否正确假设这些是字节,因此它们是 little-Endian 顺序的?

  • 函数 BN_bn2hex 和 BN_hex2bn,它们使用什么字节序?

在此先感谢您的帮助。

4

1 回答 1

11

OpenSSL 将所有字节序列(unsigned char数组)视为大端。

函数BN_bn2hexBN_hex2bn用于转换为可打印格式和从可打印格式转换。可打印格式始终采用自然阅读顺序,即大端。

对于像bn2bin这样的不可打印格式转换,文档明确指出转换是大端。但就像我之前说的,OpenSSL 中的约定对于所有字节序列都是大端的。

于 2012-02-26T18:00:57.197 回答