我正在尝试使用他们的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浏览器访问)。
之前有没有人遇到过这个问题?
答案 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();