原文:
xxtea演算法的結構非常簡單,只需要執行加法、異或和寄存的硬體即可,且軟體實現的**非常短小,具有可移植性。
xxtea可對連續記憶體資料進行方便快速的加密解密,且比較安全,但其使用不是很方便,因此有了此次封裝。
封裝好的介面如下:
//加密解密示例**:////
created by ****** on 12-7-24.
////
/** 此類是對xxtea官方演算法進行的封裝,xxtea資訊詳見 */
#ifndef xxtea_h
#define xxtea_h#include
"stdlib.h
"#include
"stdio.h
"#include
#ifndef xxtea_type
#define xxtea_type int //
一種32位長的資料型別,因int在32bit和64bit系統中都是32位的,故直接用int
#endif
class
xxtea ;
#endif
char srcbuffer = "示例結果:hello world! 你好!";
size_t length = xxtea::xxteagetbufferlength(strlen(srcbuffer) + 1, true
);
char* encodebuffer = new
char
[length];
xxtea_type key[
4] = ;
xxtea::xxteaencode(encodebuffer, srcbuffer, strlen(srcbuffer) +1
, key);
printf(
"encodebuffer: %s\r\n
", encodebuffer);
char* decodebuffer = new
char[xxtea::xxteagetbufferlength(length, false
)]; xxtea::xxteadecode(decodebuffer, encodebuffer, length, key);
printf(
"decodebuffer: %s\r\n
", decodebuffer);
delete encodebuffer;
delete decodebuffer;
XXTEA 加密演算法
需要注意的是,這裡加密的是位元組陣列,而不是字串。因為 c 字串是按照 unicode 編碼儲存的。要加密字串的話,需要用 system.text.encoding.utf8 或者其他編碼器 的 getbytes 方法轉化為位元組陣列,然後才能對其加密,金鑰也是一樣的。金鑰長度是 128 位,也就是...
xxtea 微控制器資料加密演算法
各位大俠在做資料傳輸時,有沒有考慮過把資料加密起來進行傳輸,若在串列埠或者無線中把所要傳的資料加密起來,豈不是增加了通訊的安全性。常用的加密解密演算法比如des rsa等,受限於微控制器的記憶體和運算速度,實現起來比較困難,但一種叫tea的加密演算法特別適合微控制器使用。tea tiny encry...
PHP實現的XXTEA加密解密演算法示例
xxtea 加密實現類 class xxtea s array for i 0 i len 程式設計客棧 i s i pack v v i return w substr implode s 0,n implode s private function str2long s,w private fu...