Jos*_*ton 8 security api authorization amazon-web-services
我们目前正在设计一个web api,并且正在实施授权.我们已经(主要)跟随亚马逊的实施,但有一部分我真的不完全理解.
也就是说,base64对生成的hmac进行编码有什么意义?至少对于大多数站点来说,长度的差异可以忽略不计.亚马逊可能会注意到这种差异.这是唯一的原因吗?它可能与ascii/unicode有关吗?
Mic*_*ray 15
散列算法和HMAC不提供十六进制字符串输出,这是许多人倾向于相信的; 他们都输出二进制数据.Base64为您提供了一种轻松,可移植地将二进制数据表示为字符串的方法.
至于原因,它可能只是为了方便而在软件的许多不同部分之间使用标准编码.它没有什么特别之处,除了它是一种广泛使用的编码.