C#:符合RFC4648的base64url

问题描述 投票:8回答:1

我正在根据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”

c# base64 urlencode url-encoding
1个回答
8
投票

基于注释,听起来here做正确的事情except来填充额外的字符。因此,您应该可以:

System.Web.HttpServerUtility.UrlTokenEncode

但是,您应该添加单元测试以检查它是否确实使用了RFC 4648字母(并且以与RFC 4648相同的方式)。文档如此稀疏有点令人惊讶:(

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.