基于SEAL库实现PSI-报错实录1
生活随笔
收集整理的这篇文章主要介绍了
基于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的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 近世代数--整环上的唯一分解问题--相伴
- 下一篇: 基于SEAL库实现PSI-报错实录2