亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? untmain.~cpp

?? 是用C++ Builder 寫的DES加密算法.
?? ~CPP
字號:
//---------------------------------------------------------------------------
#include <string.h>

#include <vcl.h>
#pragma hdrstop

#include "untMain.h"
#include "untBeatCode.h"

//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"

TfrmMain *frmMain;

//數據的X次方
__int64 DataXSquare(int iData, int X){	int i;    __int64 iRet;	if(X == 0)		return 1;	iRet = 1;	for(i = 0; i < X; i++)	{		iRet = iRet * iData;	}	return iRet;}
//十進制數據轉換成二進制數據(大于0)
//注意二進制的高位占據緩沖數據的高位int DecToBin(__int64 iData, int iIndex, int iLen, unsigned char *pBuff){    int iMod, iRet;    iRet = iIndex + iLen;    if(iData == 0)    {        pBuff[iIndex] = 0;        iIndex++;    }    while(iData > 0)    {    	iMod = iData % 2;    	iData = iData / 2;    	pBuff[iIndex] = iMod;    	iIndex++;    }    return iRet;}
//二進制數據轉換成十進制數據
__int64 BinToDec(unsigned char *pBuff, int iStart, int iEnd){	int i;    __int64 iData;	iData = 0;	for(i = iStart; i <= iEnd; i++)	{		if(pBuff[i] == 1)			iData = iData + DataXSquare(2, i - iStart);	}	return iData;}
//設置加密的數據緩沖
void TfrmMain::SetDataBuff(unsigned char *DataBuff)
{
    int iData, iIndex;
    unsigned char Buff[64];

    iIndex = 0;
    memset(Buff, 0, 64);
    //機器編號(0-14)
    iData = StrToInt(edtMachCode->Text);
    iIndex = DecToBin(iData, iIndex, 15, Buff);
    //隨機碼(15-25)
    iData = StrToInt(edtRandCode->Text);
    iIndex = DecToBin(iData, iIndex, 11, Buff);
    //是否允許調整參數
    if(ckbUpdPar->Checked)
        iData = 1;
    else
        iData = 0;
    iIndex = DecToBin(iData, iIndex, 1, Buff);
    //多少次游戲調節檢測(27-28)
    iData = cmbDayPlay->ItemIndex;
    iIndex = DecToBin(iData, iIndex, 2, Buff);
    //贏分最大誤差(29-30)
    iData = cmbMinError->ItemIndex;
    iIndex = DecToBin(iData, iIndex, 2, Buff);
    //押分超過多少為殺板人(31-32)
    iData = cmbGreatePress->ItemIndex;
    iIndex = DecToBin(iData, iIndex, 2, Buff);
    //押分少于多少為釣魚人(33-34)
    iData = cmbFisherPress->ItemIndex;
    iIndex = DecToBin(iData, iIndex, 2, Buff);
    //釣魚人最大贏分1(35-37)
    iData = cmbFisherMaxWin1->ItemIndex;
    iIndex = DecToBin(iData, iIndex, 3, Buff);
    //釣魚人最大贏分2(38-40)
    iData = cmbFisherMaxWin2->ItemIndex;
    iIndex = DecToBin(iData, iIndex, 3, Buff);
    //拉連線彩下限(41-43)
    iData = cmbSendLineLottMin->ItemIndex;
    iIndex = DecToBin(iData, iIndex, 3, Buff);
    //拉連線彩上限(44-46)
    iData = cmbSendLineLottMax->ItemIndex;
    iIndex = DecToBin(iData, iIndex, 3, Buff);
    //拉單機彩輸分(47-49)
    iData = cmbPullMachKill->ItemIndex;
    iIndex = DecToBin(iData, iIndex, 3, Buff);
    //殺板人多少次游戲后必須考慮放單機彩(50-52)
    iData = PullMachPlay1->ItemIndex;
    iIndex = DecToBin(iData, iIndex, 3, Buff);
    //其他人多少次游戲后必須考慮放單機彩(53-55)
    iData = PullMachPlay2->ItemIndex;
    iIndex = DecToBin(iData, iIndex, 3, Buff);
    //殺板人輸分多少后考慮放分給他(56-57)
    iData = cmbSendPoint1->ItemIndex;
    iIndex = DecToBin(iData, iIndex, 2, Buff);
    //其他人輸分多少后考慮放分給他(58-59)
    iData = cmbSendPoint2->ItemIndex;
    iIndex = DecToBin(iData, iIndex, 2, Buff);
    //輸分超過多少稱為大殺板人(60-61)
    iData = cmbRescueKill->ItemIndex;
    iIndex = DecToBin(iData, iIndex, 2, Buff);
    //大殺板人押分超過多少放分(62-63)
    iData = cmbRescuePoint->ItemIndex;
    iIndex = DecToBin(iData, iIndex, 2, Buff);
    //設置DataBuff
    DataBuff[0] = BinToDec(Buff, 0, 7);
    DataBuff[1] = BinToDec(Buff, 8, 15);
    DataBuff[2] = BinToDec(Buff, 16, 23);
    DataBuff[3] = BinToDec(Buff, 24, 31);
    DataBuff[4] = BinToDec(Buff, 32, 39);
    DataBuff[5] = BinToDec(Buff, 40, 47);
    DataBuff[6] = BinToDec(Buff, 48, 55);
    DataBuff[7] = BinToDec(Buff, 56, 63);
}

//在字符串strCode1前面補0
AnsiString FillZero(AnsiString strCode, int iNeedLen)
{
    int i, iLen;
    AnsiString strZero;

    iLen = strCode.Length();
    if(iLen >= iNeedLen)
    {
        return strCode;
    }
    else
    {
        strZero = "";
        for(i = 0; i < iNeedLen - iLen; i++)
        {
            strZero = strZero + '0';
        }
        return strZero + strCode;
    }
}

//打碼
bool TfrmMain::BeatCode(unsigned char *pIn, unsigned char *pOut){    int i, iData;    unsigned char Buff[8];    //將整數轉換成二進制數據    for(i = 0; i < 8; i++)    {        memset(Buff, 0, 8);        DecToBin(pIn[i], 0, 8, Buff);        memcpy(pOut + 8 * i, Buff, 8);    }    //0  - 14位:機器編號(驗證)    iData = BinToDec(pOut, 0, 14);    if(iData != StrToInt(edtMachCode->Text))        return FALSE;    //15 - 25位:隨機碼(驗證)    iData = BinToDec(pOut, 15, 25);    if(iData != StrToInt(edtRandCode->Text))        return FALSE;    //是否允許用戶調整游戲參數    iData = BinToDec(pOut, 26, 26);        //27 - 28位:多少次游戲調節檢測    iData = BinToDec(pOut, 27, 28);    cmbDayPlay->ItemIndex = iData;    //29 - 30位:實際和理想分數最小誤差    iData = BinToDec(pOut, 29, 30);    cmbMinError->ItemIndex = iData;    //31 - 32位:押分達多少稱為殺板人    iData = BinToDec(pOut, 31, 32);    cmbGreatePress->ItemIndex = iData;    //33 - 34位:押分少于多少稱釣魚人    iData = BinToDec(pOut, 33, 34);    cmbFisherPress->ItemIndex = iData;    //35 - 37位:釣魚人的最大贏分1    iData = BinToDec(pOut, 35, 37);    cmbFisherMaxWin1->ItemIndex = iData;    //38 - 40位:釣魚人的最大贏分2    iData = BinToDec(pOut, 38, 40);    cmbFisherMaxWin2->ItemIndex = iData;    //41 - 43位:連線彩達多少才能拉下限    iData = BinToDec(pOut, 41, 43);    cmbSendLineLottMin->ItemIndex = iData;    //44 - 46位:連線彩達多少才能拉上限    iData = BinToDec(pOut, 44, 46);    cmbSendLineLottMax->ItemIndex = iData;    //47 - 49位:拉單機彩最小輸分    iData = BinToDec(pOut, 47, 49);    cmbPullMachKill->ItemIndex = iData;    //50 - 52位:殺板人多少次游戲后必須考慮單機彩1    iData = BinToDec(pOut, 50, 52);    PullMachPlay1->ItemIndex = iData;    //53 - 55位:其他人多少次游戲后必須考慮單機彩2    iData = BinToDec(pOut, 53, 55);    PullMachPlay2->ItemIndex = iData;    //56 - 57位:殺板人輸分達多少考慮放用戶    iData = BinToDec(pOut, 56, 57);    cmbSendPoint1->ItemIndex = iData;    //58 - 59位:其他人輸分達多少考慮放用戶    iData = BinToDec(pOut, 58, 59);    cmbSendPoint2->ItemIndex = iData;    //60 - 6位:用戶輸分超過多少稱大殺板人    iData = BinToDec(pOut, 60, 61);    cmbRescueKill->ItemIndex = iData;    //62 - 63位:大殺板人單次押分多少才拯救    iData = BinToDec(pOut, 62, 63);    cmbRescuePoint->ItemIndex = iData;    return TRUE;}
//---------------------------------------------------------------------------
__fastcall TfrmMain::TfrmMain(TComponent* Owner)
        : TForm(Owner)
{
}

//---------------------------------------------------------------------------
void __fastcall TfrmMain::btnEncClick(TObject *Sender)
{
    unsigned char In[8];
    unsigned char Out[8];
	unsigned char Buff[8];
    unsigned char CodeBuff[64];
    int i, iTemp, iCode1, iCode2, iCode3, iCode4;
    AnsiString strCode1, strCode2, strCode3, strCode4;

    //判斷機器編號輸入是否正確
    iTemp = StrToInt(edtMachCode->Text);
    if(iTemp < 0 || iTemp > 32000)
    {
        Application->MessageBoxA("機器編號輸入錯誤,請輸入0-32000之間的數據!", "輸入錯誤", MB_OK);
        edtMachCode->SetFocus();
        return;
    }
    //判斷隨機碼輸入是否正確
    iTemp = StrToInt(edtRandCode->Text);
    if(iTemp < 0 || iTemp > 4000)
    {
        Application->MessageBoxA("隨機碼輸入錯誤,請輸入0-4000之間的數據!", "輸入錯誤", MB_OK);
        edtRandCode->SetFocus();
        return;
    }
    //設置加密的數據緩沖
    SetDataBuff(In);
    //加密數據
    Des_Go(Out, In, sizeof(In), des_key, sizeof(des_key), ENCRYPT);
    //將加密后的數據轉換成用十進制表示
    memset(CodeBuff, 0, 64);
    for(i = 0; i < 8; i++)
    {    	memset(Buff, 0, 8);    	DecToBin(Out[i], 0, 8, Buff);    	memcpy(CodeBuff + 8 * i, Buff, 8);    }    //48 - 63位    iCode1 = BinToDec(CodeBuff, 48, 63);
    strCode1 = FillZero(IntToStr(iCode1), 5);
    //32 - 47位    iCode2 = BinToDec(CodeBuff, 32, 47);
    strCode2 = FillZero(IntToStr(iCode2), 5);
    //16 - 31位    iCode3 = BinToDec(CodeBuff, 16, 31);
    strCode3 = FillZero(IntToStr(iCode3), 5);
    //0 - 15位    iCode4 = BinToDec(CodeBuff, 0, 15);
    strCode4 = FillZero(IntToStr(iCode4), 5);
    edtCode->Text = strCode1 + strCode2 + strCode3 + strCode4;}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::btnDecClick(TObject *Sender)
{
    int iIndex;
    unsigned char In[8];
    unsigned char Out[8];
    unsigned char Buff[64];

    //將整數轉換成二進制數據放在Buff中
    iIndex = 0;
    memset(Buff, 0, 64);
    //0 - 15位
    iIndex = DecToBin(StrToInt64(edtCode->Text.SubString(16, 5)), iIndex, 16, Buff);
    //16 - 31位
    iIndex = DecToBin(StrToInt64(edtCode->Text.SubString(11, 5)), iIndex, 16, Buff);
    //32 - 47位
    iIndex = DecToBin(StrToInt64(edtCode->Text.SubString(6, 5)), iIndex, 16, Buff);
    //48 - 63位
    iIndex = DecToBin(StrToInt64(edtCode->Text.SubString(1, 5)), iIndex, 16, Buff);
    //設置輸入緩沖
    In[0] = BinToDec(Buff, 0, 7);
    In[1] = BinToDec(Buff, 8, 15);
    In[2] = BinToDec(Buff, 16, 23);
    In[3] = BinToDec(Buff, 24, 31);
    In[4] = BinToDec(Buff, 32, 39);
    In[5] = BinToDec(Buff, 40, 47);
    In[6] = BinToDec(Buff, 48, 55);
    In[7] = BinToDec(Buff, 56, 63);
    //解密數據
    Des_Go(Out, In, sizeof(In), des_key, sizeof(des_key), DECRYPT);
    //分析解密數據
    memset(Buff, 0, 64);
    if(!BeatCode(Out, Buff))
    {
        Application->MessageBoxA("您輸入的卡號不正確!", "輸入錯誤", MB_OK);
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::btnExitClick(TObject *Sender)
{
    Close();
}
//---------------------------------------------------------------------------



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品精品一区| 精品久久久久久综合日本欧美| 欧美一区二区精品在线| 亚洲欧洲性图库| 国产一区高清在线| 日韩视频免费观看高清在线视频| 日韩av在线发布| 欧美日韩免费在线视频| 一级精品视频在线观看宜春院| 91蜜桃在线观看| 国产精品久久久久久久久搜平片 | 视频一区二区三区中文字幕| 欧美三级资源在线| 成人午夜视频网站| 日韩毛片精品高清免费| 欧美色精品天天在线观看视频| 高清在线不卡av| 亚洲精品国产品国语在线app| 欧美少妇性性性| 日韩不卡在线观看日韩不卡视频| 亚洲女同女同女同女同女同69| 欧美日韩一区二区三区在线看 | 亚洲一区二区三区四区五区黄| 色呦呦国产精品| 亚洲一区二区三区在线| 亚洲三级理论片| 一色桃子久久精品亚洲| 国产欧美综合在线观看第十页| 99久久综合精品| 亚洲人成在线播放网站岛国| 国产欧美一区二区在线观看| 久久久精品天堂| 99在线精品视频| 成人性色生活片| 国产成人小视频| 天天色天天操综合| 久久久www免费人成精品| 精品国产91洋老外米糕| 一本色道久久加勒比精品| 91亚洲精品一区二区乱码| 99视频在线精品| 91精品1区2区| 国产福利不卡视频| 东方欧美亚洲色图在线| 国产激情一区二区三区桃花岛亚洲| 久久国产免费看| 亚洲天堂免费在线观看视频| 国产精品国产三级国产| 综合在线观看色| 亚洲国产欧美日韩另类综合| 久久这里只有精品视频网| 欧美亚洲国产怡红院影院| 欧美无乱码久久久免费午夜一区| 欧美巨大另类极品videosbest| 欧美日韩国产综合视频在线观看| 不卡的av电影在线观看| 精品一区二区久久| 五月天丁香久久| 欧美96一区二区免费视频| 一区二区三区在线观看国产| 亚洲第一电影网| 亚洲欧洲精品成人久久奇米网| 亚洲视频小说图片| 亚洲第一福利一区| 国产在线播放一区| 99这里只有久久精品视频| 欧美日韩国产综合一区二区| 精品免费国产二区三区| 中文字幕在线播放不卡一区| 一区二区三区日韩精品视频| 美女网站在线免费欧美精品| 亚洲国产三级在线| 久久av中文字幕片| 成人丝袜高跟foot| 欧美天堂亚洲电影院在线播放| 日韩三级视频中文字幕| 亚洲丝袜美腿综合| 奇米影视一区二区三区小说| 国产99久久久久久免费看农村| 在线观看日韩精品| 欧美日韩一区二区三区免费看| 欧美精品一区二区不卡 | 国产精品成人午夜| 日韩—二三区免费观看av| 成人免费视频视频在线观看免费 | 久久精品亚洲精品国产欧美| 欧美一级日韩免费不卡| 国产精品区一区二区三区| 国产欧美精品一区二区色综合 | 午夜精品福利一区二区蜜股av| 国产福利一区在线观看| 欧美精品色综合| 国产精品乱人伦中文| 麻豆国产一区二区| 欧美丝袜丝交足nylons| 国产女人18毛片水真多成人如厕| 日韩精品亚洲专区| 色婷婷亚洲综合| 国产日韩精品一区二区浪潮av| 午夜影视日本亚洲欧洲精品| 成年人午夜久久久| 久久一日本道色综合| 丝袜诱惑制服诱惑色一区在线观看 | 国产一区二区三区视频在线播放| 欧美亚男人的天堂| 亚洲欧美视频在线观看| 国产精品一区二区免费不卡| 国产·精品毛片| 日韩色在线观看| 午夜日韩在线观看| 在线影视一区二区三区| 亚洲欧洲成人av每日更新| 国产一区视频导航| 日韩三级视频在线看| 日韩电影一区二区三区四区| 色婷婷av一区二区三区之一色屋| 中文无字幕一区二区三区| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 男人的天堂亚洲一区| 欧美日韩卡一卡二| 亚洲精品水蜜桃| 91老师片黄在线观看| 国产精品久久久久久久久免费相片| 国产综合久久久久影院| 97久久精品人人做人人爽50路| 欧美美女激情18p| 一区二区三区四区视频精品免费| 成人av电影在线观看| 中文一区二区完整视频在线观看| 国产精品伊人色| 国产女人aaa级久久久级 | 93久久精品日日躁夜夜躁欧美| 26uuu欧美| 国产一区二区不卡| 久久综合国产精品| 国产91露脸合集magnet| 国产欧美日韩麻豆91| 国产精品亚洲成人| 国产精品久久777777| 不卡一二三区首页| 亚洲日本在线天堂| 色婷婷亚洲综合| 视频在线观看国产精品| 欧美一区二视频| 久久av资源网| 国产亚洲精品bt天堂精选| 成人在线视频首页| 亚洲人123区| 欧美日韩电影一区| 激情成人午夜视频| 国产欧美视频一区二区| 91网站在线播放| 日韩精品欧美成人高清一区二区| 欧美一级久久久久久久大片| 韩国三级中文字幕hd久久精品| 国产嫩草影院久久久久| 91福利精品视频| 日韩激情一二三区| 久久精品男人的天堂| 色综合久久久久久久久| 婷婷国产在线综合| 久久这里只精品最新地址| 99免费精品视频| 日韩成人一级片| 国产日韩欧美亚洲| 欧美色图在线观看| 紧缚捆绑精品一区二区| 国产精品久久久久一区二区三区共| 在线免费不卡视频| 国产一区二区三区观看| ㊣最新国产の精品bt伙计久久| 欧美日韩国产综合草草| 国产黑丝在线一区二区三区| 亚洲影院理伦片| 精品91自产拍在线观看一区| 99精品国产99久久久久久白柏| 日本大胆欧美人术艺术动态 | 亚洲精品第一国产综合野| 欧美mv和日韩mv国产网站| 一本在线高清不卡dvd| 久久精品国产一区二区三| 亚洲区小说区图片区qvod| 精品国产乱码久久久久久图片| 91美女在线观看| 国产一区二区三区| 日韩在线观看一区二区| 中文字幕日韩精品一区| 欧美va在线播放| 欧美日韩一级二级| 成人黄动漫网站免费app| 日韩福利电影在线观看| 1024国产精品| 国产日韩欧美一区二区三区乱码 | 欧美怡红院视频| 国产一区二区三区电影在线观看| 亚洲一区二区高清| 国产精品女主播av| 精品99999| 欧美一级片在线看| 欧美日韩一区国产|