对于服务器生成的挑战和客户端生成的挑战,以下字符串是不同的:
+ -> -/ -> _= -> (空空间)为什么我们需要做替代来解决这个问题?
参考源代码。
- [https://webauthn.io/dist/js/webauthn.js](https://webauthn.io/dist/js/webauthn.js)
- [https://github.com/Jxck/jxck.io/blob/master/labs.jxck.io/webauthentication/fido-u2f/static/js/base64.mjs](https://github.com/Jxck/jxck.io/blob/master/labs.jxck.io/webauthentication/fido-u2f/static/js/base64.mjs)
发布于 2019-05-30 13:17:41
它看起来像是普通Base64编码与Base64 URL之间的区别,以及填充与无填充选项之间的区别(尾随=s)。后者在URL中使用是安全的,与前者相反。另见应用程序
Webauthn需要使用Base64 URL编码,而某些函数(例如javascript的atob或btoa)需要普通的Base64编码方案,因此需要从一个转换到另一个。
https://stackoverflow.com/questions/56373349
复制相似问题