You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将自定义十六进制IV转换为Python AES所需的字节格式?

自定义IV转换为字节格式的解决方案

原代码通过Random.new().read(AES.block_size)生成的iv是字节类型(bytes),而你定义的val是十六进制格式的字符串。要将其转换成和自动生成IV相同的格式,只需把十六进制字符串解码为字节串即可,Python内置的bytes.fromhex()方法可以直接完成这个转换:

from Crypto.Cipher import AES

# 自定义的十六进制IV字符串
val = "643f5a4957263b6b4e72544e42593275"
# 转换为字节格式的IV
custom_iv = bytes.fromhex(val)
# 验证格式(输出会和自动生成的IV格式一致)
print(custom_iv)

关键说明

  • 你的val长度为32个十六进制字符,刚好对应16字节(每2个十六进制字符对应1字节),完全符合AES对IV的长度要求(AES块大小固定为16字节)。
  • 如果自定义的十六进制字符串长度不符合要求(比如不是32位),bytes.fromhex()会抛出ValueError,因此要确保字符串长度正确。

内容的提问来源于stack exchange,提问作者Duck

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 07:43:16