...
uint64_t expires_time; ngx_memcpy(data, in, in_len); data_size = in_len + sizeof(expires_time); expires_time = (uint64_t) now; expires_time = ngx_http_encrypted_session_htonll(expires_time); ngx_memcpy(data + in_len, (u_char *) &expires_time, sizeof(expires_time)); MD5(data, data_size, p); static inline uint64_t ngx_http_encrypted_session_htonll(uint64_t n) { #ifdef htonll return htonll(n); # else return ((uint64_t) htonl(n) > 32); #endif }
为什么我要尝试printf("%s",data)
结果:in。ngx_memcpy
应为此字符串添加expires_time
?如何查看字符串长度为data_size
的md5?
答案 0 :(得分:4)
您正在尝试打印字符串。而您的数据不是空终止。只需循环data_size并将数据中的每个字节打印为十六进制值。