TEA演算法及C 呼叫例項

2021-09-09 06:53:19 字數 1282 閱讀 6259

建立乙個c++控制台空專案,選生成dll。要想能被c#程式呼叫,還要編譯成64位的dll。

tea.def

library

exports

btea_encrypt

btea_decrpyt

tea.cpp

//巨集定義  

#define libexport_api extern "c" __declspec(dllexport)

#define mx                (z>>5^y<<2)+(y>>3^z<<4)^(sum^y)+(k[p&3^e]^z)

#define delta             0x9e3779b9

#define s_looptime        1        //5

#define block_size        64       //page_size,根據你所要加密的資料報長度修改此引數(單位:位元組)

/**key  maybe 128bit =16 bytes.

*buf  maybe block_size

*/libexport_api void __stdcall btea_encrypt(unsigned char* buf, unsigned char* key)}/*

*key  maybe 128bit =16bytes.

*buf  maybe block_size

inbuf == outbuf == buf

*/libexport_api void __stdcall btea_decrpyt(unsigned char* buf, unsigned char* key)

}program.cs

using system;

using system.collections.generic;

using system.linq;

using system.runtime.interopservices;

using system.text;

namespace tea_test_c_sharp

;//資料緩衝區

byte tx_buffer=new byte[32];

byte rx_buffer=new byte[32];

for (int i = 0; i < 32; i++)

btea_encrypt(tx_buffer, tea_key);      //tea加密

btea_decrpyt(tx_buffer, tea_key);      //tea解密}}

}

C 呼叫c 例項

今天寫了個rfid的封裝類,主要實現c 呼叫c 中的函式。如果大家有需要,可以當個參考 介面文件如下 c 中的struct 如下 typedef struct readeritem typedef struct inventoryresult c 的類如下 public class rfidbase...

C 呼叫matlab例項

這段 是c 呼叫matab引擎的過程,的目的很簡單,在c 中建立乙個vector陣列,然後將這個vector陣列單位化。寫這個 的目的是學些c 與matlab之間的資料互動,以供日後參考。include include include include include include engine.h...

演算法 分治演算法及例項

關於二分查詢法 二分查詢法主要是解決在 一堆數中找出指定的數 這類問題。而想要應用二分查詢法,這 一堆數 必須有一下特徵 儲存在陣列中 有序排列 所以如果是用鍊錶儲存的,就無法在其上應用二分查詢法了。曽在面試被問二分查詢法可以什麼資料結構上使用 陣列?鍊錶?至於是順序遞增排列還是遞減排列,陣列中是否...