MediaFire Rest API会话签名SHA1?

时间:2013-03-10 23:39:10

标签: .net api rest sha1 mediafire

我正在尝试使用他们的API连接到MediaFire

根据文件get_session_token请求,其中一个必需参数是:

  

签名:SHA1散列字符串,按此顺序包含以下4个元素:email + password + application_id + API Key。例如,电子邮件:testemail@domain.com,密码:111111,application_id:9999和API密钥:abcdefghijklmnopqrst,然后签名应按如下方式计算:SHA1('testemail@domain.com1111119999abcdefghijklmnopqrst')

我遇到的问题是SHA1,我不知道如何将字符串哈希到所需的SHA1。 我正在使用.NET(我尝试了几种方法),但我甚至尝试使用python(hashlib.sha1('token').hexdigest())并且它不起作用(尝试通过Internet浏览器访问)。

之前有没有人遇到过这个问题?

1 个答案:

答案 0 :(得分:3)

这是我在创建一些散列数据的字符串表示时遵循的那种模式:

string data = "testemail@domain.com1111119999abcdefghijklmnopqrst";
byte[] bytes = Encoding.UTF8.GetBytes(data);
byte[] hash;

using (SHA1 sha1 = new SHA1Managed())
    hash = sha1.ComputeHash(bytes);

//You would use hashString for the signature parameter.
string hashString = BitConverter.ToString(hash).Replace("-", "").ToLower();