欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

基于SEAL库实现PSI-报错实录1

发布时间:2025/3/21 编程问答 37 豆豆
生活随笔 收集整理的这篇文章主要介绍了 基于SEAL库实现PSI-报错实录1 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

基于SEAL库实现PSI-报错实录1

  • hash函数--string 转char*

基于论文“Fast Private Set Intersection from Homomorphic Encryption”实现PSI。

hash函数–string 转char*

在论文的优化部分,需要实现cuckoo hash和simple hash,需要用到h个hash函数,作者说h=3。

我随便在网上找了3个古早hash:BKDR、AP、DJB,都是有现成代码的,但是参数都是char *格式,我传入的是string

所以需要将string转char *,也是在网上搜转化的方法,刚开始搜出来了这个:

string data; char *str; int len = data.length(); str = (char *)malloc((len+1)*sizeof(char)); data.copy(str,len,0);

然后我就继续写代码了,但是结果总是时而对,时而不对,我输出data、str看看,发现data有时候最后几位会乱码,觉得问题应该就出在这里,搜了下解决方法,c++ string转char* 乱码问题全面解决这篇解决了我的问题,修改后的代码如下:

string data; char * str = new char[strlen(data.c_str())+1]; strcpy(str, data.c_str());

问题解决了,但是我目前还不知道为什么,希望有会的朋友评论解答,我要是弄明白了也会附上来。

总结

以上是生活随笔为你收集整理的基于SEAL库实现PSI-报错实录1的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。