我正在寻找一个基于RFC4648的(快速)标准实现,用于在C#中进行base64url编码。
我发现
示例:
base64编码:
Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes("AA")); //返回"QUE="
base64url编码:
HttpServerUtility.UrlTokenEncode(System.Text.Encoding.ASCII.GetBytes("AA")); //返回"QUE1",但我期望得到"QUE"
我发现
HttpServerUtility.UrlTokenEncode
,但看起来它不遵循RFC4648(UrlTokenEncode在末尾添加一个数字,表示删除的=
符号数量;请参见这里和这里)。示例:
base64编码:
Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes("AA")); //返回"QUE="
base64url编码:
HttpServerUtility.UrlTokenEncode(System.Text.Encoding.ASCII.GetBytes("AA")); //返回"QUE1",但我期望得到"QUE"
Substring
删除结果的最后一个字符。这样有什么问题吗? - Jon Skeet