青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Jiang's C++ Space

創作,也是一種學習的過程。

   :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::

我們日常工作中經常要對一些東西進行加密,可選的加密方法當然很多了,Windows都自帶了加密庫,但密碼學方面的東西實在令我頭大,可能因為我從小學開始數學一直沒學好的緣故,而我仔細考慮之后發覺:我們對信息加密,不一定是出自于什么“top security”的原因,大多可能僅僅是不想讓用戶看到具體的文件的結構或保護一些個人隱私信息,也就是說對安全的要求一般,沒必要引入太過重量級的東西,最好是非常快捷、高效和輕量的。那本文提供了一種方法,能讓你的信息看起來被很好地加過密了,并且你根本不需要去研究什么密碼學,也不需要引入什么龐大的Lib,因為代碼就那么幾行。

寫這個程序的時候其實我是想要這么一種加密方法:假如明文只有一個字節,那加密出來的密文應該也只有一個字節。而實際上別人實現好的AES算法加密出來的密文通常都要帶上一串隨機數,不太符合我的要求。

沒有什么include,沒有什么LIB,更沒有什么DLL,代碼再簡單不過,但我保證它很有效,OK,不多說了,看代碼:

#include "String.h"

//加密和解密,其實這兩個函數完全相同的,簡單起見嘛,另外我居然允許密碼為空,也是簡單起見
void JiangEncode(unsigned char *pBuff, int iBuffLen, char *pKey=NULL, int iKeyLen=0);
void JiangDecode(unsigned char *pBuff, int iBuffLen, char *pKey=NULL, int iKeyLen=0);

//這個main函數是用來測試的
#define TEST_LEN 100
int main(int argc, char* argv[])
{
 unsigned 
char totest[TEST_LEN];
 memcpy(totest, 
"012345678901234567890123456789012345678901234567890123456789\
0123456789012345678901234567890123456789", 100);

 JiangEncode(totest, TEST_LEN, 
"J~xye"6);

 
int i;
 
for(i=0; i<TEST_LEN; i++)
 {
  
if((i%10)==0)
   printf(
"\n");
  printf(
"%d ", totest[i]);
 }

 printf(
"\n");

 JiangDecode(totest, TEST_LEN, 
"J~xye"6);

 
for(i=0; i<TEST_LEN; i++)
 {
  
if((i%10)==0)
   printf(
"\n");
  printf(
"%d ", totest[i]);
 }

 
return 0;
}

//交換兩個BYTE
void Swap2Byte(unsigned char* v1, unsigned char* v2)
{
 
*v1 ^= *v2;
 
*v2 ^= *v1;
 
*v1 ^= *v2;
}

void GetMyCypher(const char* pKey, int iKeyLen, unsigned char* pMyCypher)
{
 
//原始加密索引
 const unsigned char cypherOrg[256=
 {
  
1351517518525526461141501612481953
  
95225567221611514916424726103034102170
  
229529222855892353810619021711214417123049
  
8324541220606820479209104184211110178205
  
7621210316922459772159816624182440120136
  
13115818520810718922012712915217920673219118154
  
1811968724916488024011293910518721497163
  
2542543125135146173236471131471742333296160
  
251225878210109183194932315086250216365
  
195942266171201641929123744116156191218117
  
15918621310017223942126130157188223122142137128
  
1551821938823235101175234371111772006719784
  
25231339916524479274511915317620370202
  
692077422212113913414516822762661988124314
  
185490238411231411401431381331481672421323
  
57752211241321511622532836108180199822461
 };

 memcpy(pMyCypher, cypherOrg, 
256);

 
//根據密碼調整加密索引
 int i, j;
 
for(i=0; i<iKeyLen; i++)
 {
  
for(j=0; j<256; j++)
  {
   
int iSwitchIndex = (pMyCypher[j] * pKey[i])%255;
   
if(iSwitchIndex!=j)
    Swap2Byte(
&(pMyCypher[j]), &(pMyCypher[iSwitchIndex]));
  }
 }
}

void JiangCode(unsigned char* pBuff, int iBuffLen, char* pKey, int iKeyLen)
{
 unsigned 
char cypher[256];
 GetMyCypher(pKey, iKeyLen, cypher);
 
int iIndex=0;
 
while (iIndex<iBuffLen)
 {
  
//其實……也就一個異或操作,所以加密和解密的過程完全一樣
  pBuff[iIndex] ^= cypher[iIndex%256];
  
++iIndex;
 }
}

void JiangEncode(unsigned char* pBuff, int iBuffLen, char* pKey, int iKeyLen)
{
 JiangCode(pBuff, iBuffLen, pKey, iKeyLen);
}

void JiangDecode(unsigned char* pBuff, int iBuffLen, char* pKey, int iKeyLen)
{
 JiangCode(pBuff, iBuffLen, pKey, iKeyLen);
}

寫完了,運行結果是如下:

241 206 235 249 4 160 190 73 253 196
160 238 105 243 18 190 10 97 26 66
182 218 99 73 40 204 208 123 196 46
76 208 117 159 38 66 234 117 142 52
66 63 135 193 60 49 228 15 12 58
131 252 1 171 96 72 254 198 171 201
110 242 27 189 199 108 136 12 177 215
88 66 156 183 221 142 27 45 61 221
122 158 39 174 123 112 156 241 77 227
112 148 57 67 225 30 47 49 83 94

48 49 50 51 52 53 54 55 56 57
48 49 50 51 52 53 54 55 56 57
48 49 50 51 52 53 54 55 56 57
48 49 50 51 52 53 54 55 56 57
48 49 50 51 52 53 54 55 56 57
48 49 50 51 52 53 54 55 56 57
48 49 50 51 52 53 54 55 56 57
48 49 50 51 52 53 54 55 56 57
48 49 50 51 52 53 54 55 56 57
48 49 50 51 52 53 54 55 56 57 Press any key to continue

上面這段是密文,看起來是不是完全沒有原文的樣子了?你試試看把TEST_LEN改為1,只加密一個字節看,這也是允許的,代碼純C,移植性很好,拿去別處用也方便。但對安全性要求高的應用可能不能使用這種方法了,至于怎么樣才算安全,我也不知道,密碼學方面的東西我最害怕了。

posted on 2009-09-29 10:34 Jiang Guogang 閱讀(1497) 評論(0)  編輯 收藏 引用 所屬分類: Windows Programming
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美日韩在线一区二区三区| 精品成人一区二区| 99在线观看免费视频精品观看| 久久免费视频在线| 美女脱光内衣内裤视频久久网站| 久久精品99国产精品酒店日本| 午夜在线视频一区二区区别| 亚洲欧美日韩在线| 久久福利一区| 欧美一二三区精品| 久久精品水蜜桃av综合天堂| 亚洲综合国产精品| 欧美亚洲一区| 久久久一二三| 亚洲欧洲精品一区二区| 蜜桃伊人久久| 免费亚洲一区二区| 午夜免费电影一区在线观看 | 欧美日韩亚洲激情| 欧美精品久久久久久久久久| 一区二区三区精品| 国产在线拍偷自揄拍精品| 国内成+人亚洲+欧美+综合在线| 精品999久久久| 亚洲欧美国产另类| 欧美激情一区在线观看| 亚洲一区二区三区四区在线观看 | 欧美日韩国产一区二区三区地区| 国产精品久久久久婷婷| 欲香欲色天天天综合和网| 艳女tv在线观看国产一区| 久热精品视频| 亚洲神马久久| 欧美激情视频一区二区三区在线播放 | 国产亚洲精品美女| 一区二区三区视频在线观看| 久久伊人一区二区| 亚洲一区视频| 欧美日韩在线播放三区| 亚洲国产经典视频| 久久久久久午夜| 99精品99久久久久久宅男| 理论片一区二区在线| 国产在线观看精品一区二区三区| aa成人免费视频| 欧美大胆成人| 久久精品五月| 国产精品久久久一区二区| 精品不卡视频| 午夜视频久久久| 亚洲国产日韩欧美一区二区三区| 亚洲欧美中文日韩v在线观看| 国产亚洲美州欧州综合国| 亚洲男人av电影| 亚洲国产精品电影| 久久综合久久88| 亚洲一区二区三区在线看| 亚洲伦伦在线| 亚洲一区视频在线| 99国产精品久久久久久久成人热| 久久蜜桃资源一区二区老牛 | 久久久蜜桃精品| 一本久久综合亚洲鲁鲁五月天| 欧美风情在线观看| 亚洲高清一二三区| 久久久青草婷婷精品综合日韩| 亚洲欧美在线磁力| 国产精品视频久久一区| 亚洲一区高清| 亚洲尤物视频在线| 国产精品你懂的| 先锋影音久久久| 亚洲一区二区精品在线| 欧美日韩国产91| 亚洲深夜福利视频| 一区二区三区国产盗摄| 国产精品美女在线| 久久激情婷婷| 久久精品国产综合精品| 在线精品亚洲| 亚洲国产另类久久精品| 欧美华人在线视频| 国产精品99久久久久久宅男| 99香蕉国产精品偷在线观看| 欧美精品久久久久久久| 日韩视频在线播放| 欧美承认网站| 欧美日韩国产限制| 性欧美长视频| 久久综合电影| 亚洲免费电影在线| 亚洲一区二区三区高清 | 免费成人性网站| 欧美极品aⅴ影院| 亚洲一区在线观看免费观看电影高清| 亚洲色诱最新| 极品裸体白嫩激情啪啪国产精品| 免费h精品视频在线播放| 欧美国产一区二区| 欧美一区二区三区日韩视频| 久久久噜噜噜久久人人看| 亚洲第一级黄色片| 一区二区三区黄色| 欲香欲色天天天综合和网| 亚洲狼人精品一区二区三区| 国产日本欧美视频| 亚洲欧洲在线播放| 国产一区二区无遮挡| 欧美国产精品日韩| 国产精品日韩在线播放| 久久综合九色| 欧美亚州韩日在线看免费版国语版| 午夜欧美精品久久久久久久| 99视频超级精品| 亚洲国产91色在线| 国产精品免费一区二区三区在线观看| 久久综合伊人77777| 欧美精品在线观看播放| 久久精品一区二区三区四区 | 激情五月***国产精品| 亚洲日韩欧美视频一区| 国产日本欧美一区二区| 亚洲激情社区| 国产一区二区电影在线观看| 亚洲精品国产精品乱码不99按摩 | 美女精品网站| 国产精品手机在线| 亚洲国产精品一区二区久| 国产视频亚洲精品| 一区二区三区视频在线| 亚洲经典三级| 久久久久久久国产| 小黄鸭精品aⅴ导航网站入口 | 欧美伦理影院| 女仆av观看一区| 国产视频一区三区| 亚洲欧美视频一区二区三区| 亚洲精品国产品国语在线app| 欧美在线啊v一区| 性色av一区二区三区红粉影视| 欧美日韩免费观看一区=区三区| 毛片基地黄久久久久久天堂| 欧美午夜美女看片| aa日韩免费精品视频一| 一区二区高清视频| 欧美剧在线观看| 亚洲日本电影在线| 日韩亚洲综合在线| 欧美大片va欧美在线播放| 欧美成人午夜| 亚洲国产精品一区二区www| 久久久夜夜夜| 欧美国产91| 99re视频这里只有精品| 久久国产手机看片| 国产午夜精品在线| 久久久久久电影| 欧美v国产在线一区二区三区| 国产一区二区黄| 亚洲美女尤物影院| 欧美日韩国产综合久久| 亚洲美女91| 亚洲综合导航| 国产一区欧美日韩| 免费av成人在线| 亚洲人成人77777线观看| 99在线精品视频在线观看| 国产精品久久久一区二区三区| 午夜精品久久久久久99热软件| 另类av导航| 亚洲视频久久| 国产一区二区三区免费观看| 欧美高清视频www夜色资源网| 宅男噜噜噜66一区二区 | 欧美激情2020午夜免费观看| 亚洲日本在线观看| 欧美日韩国产一区精品一区| 99一区二区| 国产精品99一区| 久久久国产一区二区| 亚洲人成网站精品片在线观看 | 国产精品久久久久aaaa九色| 亚洲自拍偷拍福利| 蜜桃av噜噜一区| 亚洲一区二区三区四区中文| 国产丝袜一区二区| 欧美不卡福利| 午夜亚洲视频| 亚洲国产精品高清久久久| 亚洲午夜av在线| 亚洲国产成人久久综合| 国产精品麻豆va在线播放| 免费观看日韩| 亚洲免费一级电影| 亚洲最黄网站| 欧美日韩精品二区第二页| 亚洲黄网站黄| 久久亚洲影音av资源网| 极品少妇一区二区| 欧美成人午夜视频|