我正在根据C#中的RFC4648寻找base64url的(快速)标准实现。
[我找到了HttpServerUtility.UrlTokenEncode
,但看起来好像并没有遵循RFC4648(UrlTokenEncode在末尾添加了一个数字,该数字指示已删除的HttpServerUtility.UrlTokenEncode
符号的数目;请参阅=
和here)。
示例:
base64编码:
Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes(“ AA”)); //返回“ QUE =“
base64url编码:
HttpServerUtility.UrlTokenEncode(System.Text.Encoding.ASCII.GetBytes(“ AA”));//返回“ QUE1”,但我希望“ QUE”
基于注释,听起来here做正确的事情except来填充额外的字符。因此,您应该可以:
System.Web.HttpServerUtility.UrlTokenEncode
但是,您应该添加单元测试以检查它是否确实使用了RFC 4648字母(并且以与RFC 4648相同的方式)。文档如此稀疏有点令人惊讶:(