#include
#include
#include
#include
#include
typedef int int32;
typedef char int8;
typedef unsigned char ulong8;
typedef unsigned short ulong16;
typedef unsigned long ulong32;
#ifndef bin_to_str
#define bin_to_str 0
#define str_to_bin 1
#endif
#define success 0
#define fail -1
/*函式申明*/
/*加密介面函式*/
int32 gost_enc(ulong32 *data , ulong32 *key);
/*解密介面函式*/
int32 gost_dec(ulong32 *data, ulong32 *key);
int32 encry_data( ulong32 *ldata,ulong32 *rdata,ulong32 *key);
int32 dencry_data( ulong32 *ldata,ulong32 *rdata,ulong32 *key);
int32 f(ulong32 x);/*s-盒替換、迴圈左移11位操作*/
/*左右值交換*/
int32 gost_swap( ulong32 *ldata,ulong32 *rdata);
/*gost的s-盒*/
ulong8 wz_sp[8][16] =,,,
,,,,
};/*加密金鑰使用順序表*/
ulong32 wz_spkey[32] = ;
/*s-盒替換、迴圈左移11位操作*/
int32 f (ulong32 x)
/*左右值交換*/
int32 gost_swap( ulong32 *ldata,ulong32 *rdata)
gost_swap(ldata,rdata); /*左右值交換*/
return success;
}/*解密介面函式*/
int32 gost_dec(ulong32 *data ,/*待解密資料首位址,內容需保證是64位長*/
ulong32 *key/*使用者輸入金鑰首位址,內容需保證是256位長*/
)int32 gost_enc(ulong32 *data , /*待加密資料首位址,內容需保證是64位長*/
ulong32 *key/*使用者輸入金鑰首位址,內容需保證是256位長*/
)/*32輪加密操作*/
int32 encry_data( ulong32 *ldata,ulong32 *rdata,ulong32 *key)
gost_swap(ldata,rdata); /*左右值交換*/
return success;
}/*演算法實現**結束*/
iOS下使用SHA1WithRSA演算法加簽原始碼
還有那些keystore,pkcs,p7b,p12後面介紹 rsa演算法有2個作用乙個是加密乙個是加簽。從這幾個函式中,我們可以看到,我們第一種是使用公鑰能在客戶端 加密資料,以及伺服器端用私鑰解密。第二個就是用私鑰在客戶端加簽,然後用公鑰在伺服器端用公鑰驗籤。第一種完全是為了加密,第二種是為了放抵...
Linux下MD5演算法使用
出處 我們以乙個字串為例,新建乙個檔案filename.txt,在檔案內寫入hello 然後在linux下可以使用命令md5sum filename.txt計算md5值 b1946ac92492d2347c6235b4d2611184 雖然寫入的是hello這5個字元,但是我們使用命令xxd fil...
linux下串列埠使用
串列埠終端程式設計順序 開啟 設定 讀寫 關閉。涉及到的api。1 獲取終端屬性tcgetattr 原型 int tcgetattr int fd,struct termios termios p 功能 取得終端介質 fd 初始值,並把其值賦給temios p 函式可以從後台程序中呼叫 但是,終端屬...