python - 这个 sha256 散列方法的 PHP 等价物是什么
问题描述
我正在尝试将 python 方法转移到 PHP,但我不断得到不同的结果。
message
是一个整数并且secret
是一个字符串
python脚本是
hmac.new(secret.encode('utf-8'), struct.pack('>I', message), hashlib.sha256).hexdigest()
// 5d1fa4d6...
据我所知,这应该导致相同的值
hash_hmac('SHA256', $message, $secret)
// 5cd80ad7...
解决方案
struct.pack('>I', message)
不仅仅是将数字转换为二进制。它使用大端 4 字节表示。
PHP 等价物是pack('N', $message)
推荐阅读
- php - MySQL-添加休息后每天开两次店的营业时间
- android - Android 文本识别 - 限制文本识别器
- android - Google Places Android EditText 和 ListView
- scala - reduceByKeyAndWindow 在 Spark 流中如何工作?
- javascript - JavaScript - 使用 AppendChild() 向表中添加新行
- graphql - 在赛普拉斯的上下文中:如何等待 Apollo 客户端 Graphql 请求
- c# - 过滤导航属性 EF 核心
- vba - 运行时错误“1004”应用程序定义或对象定义错误:字符串变量作为数据验证公式
- rust - 在请求保护中访问 Rocket 0.4 数据库连接池
- javascript - 创建一个数组并在循环中为每个对象加 1