C#等效于Python的urlsafe_b64encode

时间:2013-01-05 16:24:17

标签: c# python base64

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

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

1234567890123456789012345678是一个由密钥和300 ... image.jpg部分组成的hmac ......

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

那么,有没有相应的?如果没有,怎么会像它那样生成一个字符串呢?

1 个答案:

答案 0 :(得分:3)

我设法通过使用Base64字符串并将+ char替换为-而将/ char替换为_来设法实现此功能。这似乎是Python正在进行urlsafe_b64encode

的方式