日期:2014-05-17 浏览次数:20976 次
// password 密码明文
// servertime 提交的参数之一
// nonce 提交的参数之一
// encode_password 输出的加密后的16进制字符串,40个字符
// 返回 encode_password 的长度, 失败则返回0
PASSENCODE_API int SinaSha1Encode(char *password, char *servertime, char *nonce, char *encode_password)
{
if (encode_password)
{
encode_password[0]=NULL;
//定义要sha1的字符串
char pTemp[400]={0};
//定义返回的sha1值
char szHash[41] ={0};
strcpy(pTemp,password);
SHA1((unsigned char*)pTemp, szHash, 41);
strcpy(pTemp,szHash);
SHA1((unsigned char*)pTemp, szHash, 41);
strcpy(pTemp,szHash);
if (servertime) strcat(pTemp,servertime);
if (nonce) strcat(pTemp,nonce);
SHA1((unsigned char*)pTemp, szHash, 41);
strcpy(encode_password,szHash);
return strlen(encode_password);
}
return 0;
}