基于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