OpenSSL字节序列是小端还是大端序?

时间:2012-02-26 15:48:19

标签: openssl endianness dsa

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

  • 命令openssl dsa ....的选项'-text':输出中的十六进制数字,我是否正确假设那些是字节,因此它们是小端序?

  • 功能BN_bn2hex和BN_hex2bn,他们使用什么Endianess?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:10)

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

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

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