加密算法基础95 条

十六进制编码

把每个字节表示为两个十六进制字符:密钥、散列、随机数与抓包内容普遍以 hex 展示;解析时注意大小写与长度校验。

加密与证书速查安全更新于 2026-10-12
换算1 字节 = 2 个 hex 字符(32 字节密钥 = 64 字符)
大小写解析通常不敏感,展示建议统一小写
常见场景openssl 的 -hex、xxd -p、证书指纹

常见操作

常见操作
openssl rand -hex 16          # 32 个字符 = 16 字节
echo -n 'hi' | xxd -p         # 6869
echo 6869 | xxd -r -p          # 还原为 hi
看到 64 个 hex 字符时应判断是 32 字节(如 SHA-256 摘要或 AES-256 密钥),长度即类型线索。

易错点

  • 奇数长度的 hex 字符串非法,解析前先校验长度与字符合法性
  • 把 hex 字符串误当二进制密钥传入(或反之)会产生长度不符或静默错误的结果

数据来源与参考

  • RFC 4648 §8(Base16 / hex)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌