日期:2014-05-17  浏览次数:20815 次

劳驾网友帮忙把这个C++的密码加密函数翻译成C#的
C# code
 
// 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;   
}



出处:
http://blog.csdn.net/TDGX2004/archive/2011/05/28/6452021.aspx

------解决方案--------------------
同求。,。。。。。weibo 的密码加密算法。