今天在按照 python 的代码 用 ruby 实现的时候遇到一个问题:
ruby 加密:
2.2.5 :019 > OpenSSL::HMAC.hexdigest('sha1', 'x{\xc3', 'qwertyuiop')
=> "1be02f3eb1bd9117708d779792fea566ffe8f5ad"
python 加密
hmac.new('x{\xc3', 'qwertyuiop', sha1).hexdigest()
'c38fbfc8562404ad2610af08993bc9d4183fb5d6'
两者的加密结果 不同,后来排查发现 应该是 ' \ ' 导致的,但不知道具体原因,以及怎么解决?传入的字符串是打包成二进制的形成,所以会带' \ '
例如 '\xE7\xC6\xF6\xE9\xADX\x84}z\x18\xA2\xC15|\e\x90'