根据RFC4648,C#:base64url

根据RFC4648,C#:base64url,第1张

概述我正在根据C#中的 RFC4648寻找base64url的(快速)标准实现. 我找到了HttpServerUtility.UrlTokenEncode,但看起来这并不遵循RFC4648(UrlTokenEncode在末尾添加一个数字,表示已删除的=符号的数量;请参阅here和here). 例: base64编码: Convert.ToBase64String(System.Text.Encodin 我正在根据C#中的 RFC4648寻找base64url的(快速)标准实现.

我找到了HttpServerUtility.UrlTokenEncode,但看起来这并不遵循RFC4648(UrlTokenEncode在末尾添加一个数字,表示已删除的=符号的数量;请参阅here和here).

例:

base64编码:

Convert.ToBase64String(System.Text.EnCoding.ASCII.GetBytes(“AA”)); //returns “QUE=”

base64url编码:

httpServerUtility.UrlTokenEncode(System.Text.EnCoding.ASCII.GetBytes(“AA”));
//returns “QUE1” but I would expect “QUE”

解决方法 根据评论,听起来像httpServerUtility.UrlTokenEncode做正确的事情,除了填充的额外字符.所以你应该能够做到:
string customBase64 = httpServerUtility.UrlTokenEncode(data);string rfc4648 = customBase64.Substring(0,customBase64.Length - 1);

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

总结

以上是内存溢出为你收集整理的根据RFC4648,C#:base64url全部内容,希望文章能够帮你解决根据RFC4648,C#:base64url所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1249089.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存