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

星綻紫輝(rawdata)的Blog

快樂地學習,快樂地工作!

  C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
  16 Posts :: 0 Stories :: 37 Comments :: 0 Trackbacks

常用鏈接

留言簿(5)

我參與的團隊

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

        

      原創:星綻紫輝 轉載請注明出處,3Q Very Much!    http://www.shnenglu.com/rawdata

      
      我寫的MD5和RC4加密緩沖區函數,其原始代碼借鑒
      www.microsoft.com 網站上的文章

      這種加密函數是引用Windows內部維護的CSP數據庫的,是機器相關的,換句話說,你只有在同一臺機器上才能對它進行加密解密。加密前,你給一個私鑰字符串,就可以加密和解密緩沖區了。也可以稍加修改用來加密解密文件。


      其實,里面的步驟是死的,至于為什么這么做,這是這些API編寫者對API應用者要求的必須遵循的調用規則,如果你想獲得更為詳盡的信息,可以在微軟的網站上找到有關CSP和Encryt/Decrypt API的資料。


     下面貼出完整的源代碼:
      (呵呵,順便說一句,我是支持開源的。這對于加速軟件技術研究是有幫助的,我期待著高智能機器人時代的快速來臨,我希望有健全完整的共享知識庫,我也希望發達健全的軟件系統能有一個質的飛躍。)


       http://www.shnenglu.com/rawdata
      
  1
  2#pragma once
  3
  4#include <tchar.h>
  5#include <stdio.h>
  6#include <windows.h>
  7#include <wincrypt.h>
  8
  9#pragma comment (lib, "advapi32")
 10
 11#define KEYLENGTH  0x00800000
 12#define ENCRYPT_ALGORITHM CALG_RC4 
 13#define ENCRYPT_BLOCK_SIZE 8 
 14
 15
 16//---------------------------------------------------------------------------------------
 17
 18#pragma pack(push,1)
 19struct DEFKEY
 20{
 21    HCRYPTPROV hCryptProv; 
 22    HCRYPTKEY hKey;
 23    HCRYPTHASH hHash; 
 24    DEFKEY()
 25    {
 26        hCryptProv = NULL;
 27        hKey = NULL;
 28        hHash = NULL;
 29    }

 30}
;
 31#pragma pack(pop)
 32
 33//--------------------------------------------------------------------------------------
 34
 35//初始化Key
 36void InitEncrypt(DEFKEY& initkey,BYTE* pbyPassword,DWORD dwPwdLen)
 37{
 38    //請求CSP
 39    if(!CryptAcquireContext( &initkey.hCryptProv, NULL,MS_ENHANCED_PROV,PROV_RSA_FULL,0))
 40        return;
 41
 42    //創建散列
 43    if(!CryptCreateHash(initkey.hCryptProv,CALG_MD5,0,0,&initkey.hHash))
 44        return;
 45
 46    //生成密鑰數據
 47    if(!CryptHashData(initkey.hHash,pbyPassword,dwPwdLen,0))
 48        return;
 49
 50    //生成密鑰(密鑰長度,密鑰算法)
 51    if(!CryptDeriveKey(initkey.hCryptProv,ENCRYPT_ALGORITHM,initkey.hHash,KEYLENGTH,&initkey.hKey))
 52        return;
 53
 54}

 55
 56
 57//------------------------------------------------------------------------------------------------
 58void InitDecrypt(DEFKEY& initkey,BYTE* pbyPassword,DWORD dwPwdLen)
 59{
 60    //是否是加密尾部塊
 61    bool fReturn = false;
 62
 63    //請求CSP
 64    if(!CryptAcquireContext(&initkey.hCryptProv,NULL,MS_ENHANCED_PROV,PROV_RSA_FULL,0))
 65        return;
 66    
 67    //創建散列表
 68    if(!CryptCreateHash(initkey.hCryptProv,CALG_MD5,0,0,&initkey.hHash))
 69        return;
 70
 71    //創建解密數據
 72    if(!CryptHashData(initkey.hHash,(BYTE *)pbyPassword,dwPwdLen,0))
 73        return;
 74
 75    //生成解密數據
 76    if(!CryptDeriveKey(initkey.hCryptProv,ENCRYPT_ALGORITHM,
 77        initkey.hHash,KEYLENGTH,&initkey.hKey))
 78        return;
 79}

 80
 81//-----------------------------------------------------------------------------------
 82void ReleaseCrypt(DEFKEY& initkey)
 83{
 84     if(initkey.hHash) 
 85    {
 86        CryptDestroyHash(initkey.hHash);
 87        initkey.hHash = NULL;
 88    }

 89
 90    if(initkey.hKey)
 91      CryptDestroyKey(initkey.hKey);
 92
 93    if(initkey.hCryptProv)
 94        CryptReleaseContext(initkey.hCryptProv, 0);
 95}

 96
 97//-------------------------------------------------------------------------------------
 98
 99
100bool EncryptBuffer(BYTE* pbyInputBuf, DWORD dwInputLen,
101                   DWORD dwBufLen,HCRYPTKEY hKey,BOOL bEnd);
102
103
104bool DecryptBuffer(BYTE* pbyInputBuf, DWORD dwInputLen,
105                   DWORD dwBufLen,HCRYPTKEY hKey,BOOL bEnd);
106
107
108//---------------------------------------------------------------------------------------
109bool EncryptBuffer(BYTE* pbyInputBuf, DWORD dwInputLen,
110                   DWORD dwBufLen,HCRYPTKEY hKey,BOOL bEnd)
111
112    DWORD dwCount = dwInputLen;
113    CryptDecrypt(hKey,0,bEnd,0,pbyInputBuf,&dwCount);
114    return 1;
115}
 
116
117
118
119
120bool DecryptBuffer(BYTE* pbyInputBuf, DWORD dwInputLen,
121                   DWORD dwBufLen,HCRYPTKEY hKey,BOOL bEnd)
122
123    DWORD dwCount = dwInputLen;
124    CryptDecrypt(hKey,0,bEnd,0,pbyInputBuf,&dwCount);
125    return 1;
126}

      http://www.shnenglu.com/rawdata

    如果代碼有什么謬誤或者有更好的解決方案,請留言或者EmailToMe: xiaolu69soft@yahoo.com.cn.


     讓我們一起努力, 讓軟件技術和電子機械技術的高能時代快快來臨吧!!!


      ^_~         2008-12-30   星綻紫輝

      
posted on 2008-12-30 10:35 星綻紫輝 閱讀(483) 評論(0)  編輯 收藏 引用
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲高清视频一区| 国产精品久久久久久久app | 久久爱91午夜羞羞| 玖玖玖免费嫩草在线影院一区| 久久综合久久久久88| 国产精品美女久久久久久免费| 午夜在线a亚洲v天堂网2018| 开心色5月久久精品| 亚洲欧美三级伦理| 欧美激情视频一区二区三区在线播放 | 亚洲美女av电影| 午夜精品久久| 亚洲欧美日韩高清| 欧美精品一区二区在线播放| 欧美一区二区三区四区视频| 欧美一区二区三区四区高清| 国产亚洲欧美在线| 日韩一二三在线视频播| 欧美久久九九| 国产精品久久夜| 久久在线免费观看视频| 国产亚洲欧美日韩精品| 亚洲在线观看视频| 亚洲一线二线三线久久久| 国产精品激情偷乱一区二区∴| 欧美亚洲尤物久久| 亚洲午夜国产一区99re久久| 一区二区三区回区在观看免费视频| 国产女人aaa级久久久级| 国产精品豆花视频| 免费观看成人www动漫视频| 日韩一区二区精品在线观看| 亚洲精品一区二区网址| 欧美精品高清视频| 久久成人免费日本黄色| 欧美视频在线观看免费| 久久亚洲综合网| 亚洲欧美日韩在线一区| 一区二区冒白浆视频| 欧美一区二区在线观看| 久久欧美中文字幕| 亚洲黄色在线视频| 国产精品亚洲综合| 久久一区二区三区四区五区| 欧美在线视频a| 亚洲国产午夜| 亚洲一区三区电影在线观看| 欧美亚洲免费在线| 欧美国产日韩一区二区在线观看| 欧美国产一区二区三区激情无套| 欧美在线观看网址综合| 亚洲精品国产拍免费91在线| 国产精品久久久久一区| 欧美色图一区二区三区| 久久精品欧洲| 亚洲素人在线| 欧美区一区二区三区| 欧美亚洲一区二区在线观看| 欧美日本韩国一区| 亚洲毛片在线看| 久久久久久夜精品精品免费| 这里只有精品丝袜| 亚洲少妇最新在线视频| 夜夜嗨av色一区二区不卡| 99热在这里有精品免费| 久久另类ts人妖一区二区| 国产女人精品视频| 久久久久久久一区| 午夜精品免费在线| 欧美午夜激情小视频| 黄色成人在线网址| 伊人色综合久久天天| 国产一区二区精品久久91| 国产一区二区三区精品久久久 | 午夜精品久久久久久久久久久久久| 国产精品久久久久免费a∨| 亚洲欧美另类中文字幕| 久久动漫亚洲| 国产精品网站在线| 欧美顶级艳妇交换群宴| 欧美日韩精品一二三区| 国产欧美日韩视频在线观看| 亚洲激情视频在线| 欧美一级网站| 亚洲欧美文学| 一本色道久久| 国内外成人在线视频| 欧美第一黄网免费网站| 亚洲一区二区三区在线视频| 西瓜成人精品人成网站| 国产精品福利久久久| 亚洲国产精品一区二区久| 久久青草欧美一区二区三区| 日韩一区二区免费高清| 欧美在线播放高清精品| 久久综合99re88久久爱| 美日韩精品视频| 美脚丝袜一区二区三区在线观看| 一本到高清视频免费精品| 亚洲第一毛片| 一区二区三区精品视频| 欧美一区二区视频网站| 99av国产精品欲麻豆| 欧美国产专区| 亚洲一区www| 99re热精品| 新片速递亚洲合集欧美合集| 国产精品日韩精品| 亚洲精品视频免费观看| 亚洲二区视频在线| 亚洲免费在线视频一区 二区| 亚洲精品久久嫩草网站秘色| 蜜臀va亚洲va欧美va天堂| 亚洲精品视频在线播放| 亚洲性人人天天夜夜摸| 狠狠v欧美v日韩v亚洲ⅴ| 免费影视亚洲| 久久综合色婷婷| 亚洲国产91色在线| 日韩午夜在线视频| 久久岛国电影| 欧美影院午夜播放| 国产精品国产三级国产普通话蜜臀 | 欧美日韩国产在线播放| 日韩视频在线观看免费| 欧美日韩午夜激情| 欧美一区二区三区另类| 亚洲欧洲精品一区| 亚洲性夜色噜噜噜7777| 麻豆91精品| 欧美在线精品免播放器视频| 久久久久综合网| 99视频有精品| 久久亚洲欧洲| 亚洲欧美日韩中文视频| 国产精品―色哟哟| 亚洲久色影视| 欧美先锋影音| 性欧美videos另类喷潮| 一区二区三区精品久久久| 欧美日韩亚洲一区在线观看| 91久久精品国产91性色tv| 久久国产精品99久久久久久老狼 | 午夜日韩电影| 欧美激情视频网站| 日韩天堂在线观看| 亚洲国产成人tv| 国产主播精品在线| 国产精品日韩久久久久| 欧美日韩一区二区国产| 欧美激情一区二区三区全黄| 亚洲人成网站精品片在线观看 | 久久精品一区二区国产| 亚洲国产三级网| 久久婷婷人人澡人人喊人人爽| 欧美在线中文字幕| 欧美色中文字幕| 久久精品欧美日韩| 国产精品一区二区在线| 欧美一区二区视频97| 国产精品卡一卡二| 久久先锋影音av| 中文国产成人精品久久一| 欧美在线亚洲在线| 在线视频免费在线观看一区二区| 国产精品永久入口久久久| 午夜伦欧美伦电影理论片| 国内精品久久久久伊人av| 国产午夜精品一区理论片飘花 | 欧美在线免费看| 欧美呦呦网站| 亚洲欧美日韩国产另类专区| 亚洲乱码一区二区| 久久精品人人做人人综合| 欧美成人tv| 久久午夜电影网| 欧美国产日韩亚洲一区| 在线欧美小视频| 国产精品国产三级国产普通话三级 | 一区二区三区视频在线观看| 亚洲高清色综合| 亚洲国产精品一区二区第一页| 在线电影院国产精品| 亚洲女优在线| 欧美成人中文字幕| 精品av久久707| 午夜精品久久久久影视| 亚洲国产精品va在看黑人| 亚洲一区欧美| 欧美视频一区二区三区四区| 国产精品久久久久久久久久免费 | 久久深夜福利| 香蕉成人啪国产精品视频综合网| 久久精品最新地址| 欧美xx69| 看片网站欧美日韩| 在线视频欧美日韩| 亚洲一区二区三区免费观看| 亚洲精品一区中文| 久久久www成人免费毛片麻豆|