日期:2014-05-17 浏览次数:20815 次
// 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; }