tls加密管道建立流程的一种实现

//生成随机数
//设置多个公钥、私钥对,通过客户端来协商确定使用哪对
//生成随机数后,用私钥将其加密生成密文
//再利用base64编码将密文转换成字符串
//最后可以json的格式放置到payload中返回给客户端
//握手协商,利用ostringstream将两个随机字符串生成一个
//md5编码,输出16进制格式的数
//将16进制格式的数转化为字符串
//使用xxtea对称加密来交互数据
string GetRandStr()
{
//生成两个8位数的随机数
struct timeval now;
gettimeofday(&now, NULL);

srand(now.tv_usec);
unsigned int rand1 = (unsigned int)rand();

srand(now.tv_usec + 1);
unsigned int rand2 = (unsigned int)rand();

char buff[17];
sprintf(buff,"%08x%08x",rand1,rand2);

string strRand ;
strRand.insert(0,buff,16);
return strRand ;
}

你可能感兴趣的:(tls加密管道建立流程的一种实现)