2

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

根据文档,get_session_token请求所需的参数之一是:

signature:一个 SHA1 哈希字符串,包含以下 4 个元素:电子邮件 + 密码 + application_id + API 密钥。例如email:testemail@domain.com,密码:111111,application_id:9999,API key:abcdefghijklmnopqrst,那么签名计算如下:SHA1('testemail@domain.com1111119999abcdefghijklmnopqrst')

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

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

4

1 回答 1

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();
于 2013-03-11T00:35:19.957 回答