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

对着背影说爱祢 提交于 2019-11-27 13:41:05

//生成随机数
//设置多个公钥、私钥对,通过客户端来协商确定使用哪对
//生成随机数后,用私钥将其加密生成密文
//再利用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 ;
}

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!