C# 等效于 Python 的 urlsafe_b64encode

标签 c# python base64

我正在尝试构建一个 ASP.NET MVC 应用程序,它将使用 Thumbor 作为照片大小调整后端,但一直遇到安全问题。 Thumbor 使用 SHA1 HMAC 哈希作为基于 URL 的安全系统。因此,URL 可能如下所示:

http://thumbor-server/1234567890123456789012345678/300x200/smart/path/to/image.jpg

1234567890123456789012345678 是由 key 和 300...image.jpg 部分组成的 hmac...

无论如何,我可以创建 HMAC 值,或者至少我认为我可以,但是在生成 URL 时,Thumbor 建议使用 Python 中的 urlsafe_base64encode 函数。我已经尝试过 System.Convert.ToBase64String,但那不起作用,并且对字符串进行编码的 url 也不起作用。 “不工作”是指 Thumbor 告诉我 URL 格式错误。没有太多可去...

那么,有没有等价物呢?如果没有,人们将如何按照它的方式生成字符串?

最佳答案

我已经设法让这个工作,通过获取 Base64 字符串并将 + 字符替换为 - 并将 / 字符替换为_。这似乎是 Python 执行其 urlsafe_b64encode 的方式。

关于C# 等效于 Python 的 urlsafe_b64encode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14173749/

相关文章:

python - 如何在不迭代的情况下读取行

c# - .net aes 的 objective c aes 128 加密

php - Base64 解码图像 PHP

c# - LINQ to SQL - 插入产生奇怪的行为

c# - Windows 窗体应用程序上与 NotifyIcon 关联的 ContextMenu 的 MenuItem 上的单击事件未触发,但需要再单击一次图标才能工作

c# - 等待和 Task.Wait 之间的区别

javascript - 不熟悉的字符串编码(Base64?) - 尝试保存和使用 .3gp 文件的字符串内容

c# - Aforge,将像素数据转换为UnmanagedImage

python - 如何在 python 中使用 linux 命令遍历 .tar.gz 文件列表

python - 如何删除 pyqt4 qtablewidget 中的所有单元格?