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

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

?? clskeyinstance.cls

?? Rjindeal加密算法
?? CLS
?? 第 1 頁 / 共 2 頁
字號:
'            rijndaelEncrypt(key->rk, key->Nr, block, outBuffer);
'            iv = outBuffer;
'            input += 16;
'            outBuffer += 16;
'        }
'        break;
'
'    Case MODE_CFB1:
'        iv = cipher->IV;
'        for (i = numBlocks; i > 0; i--) {
'            memcpy(outBuffer, input, 16);
'            for (k = 0; k < 128; k++) {
'                rijndaelEncrypt(key->ek, key->Nr, iv, block);
'                outBuffer[k >> 3] ^= (block[0] & 0x80U) >> (k & 7);
'                for (t = 0; t < 15; t++) {
'                    iv[t] = (iv[t] << 1) | (iv[t + 1] >> 7);
'                }
'                iv[15] = (iv[15] << 1) | ((outBuffer[k >> 3] >> (7 - (k & 7))) & 1);
'            }
'            outBuffer += 16;
'            input += 16;
'        }
'        break;
'
'default:
'        return BAD_CIPHER_STATE;
'    }
'
'    return 128*numBlocks;
'}

Public Function BlockDecrypt(InputBuffer() As Long, InputLen As Long, _
        OutputBuffer() As Long)
Dim i As Long, j As Long, k As Long, t As Long, numBlocks As Long
Dim Block(4) As Long
Dim oBlock(4) As Long
Dim tmpIV(4) As Long

    If mDirection = Encrypt Then
        Err.Raise 1, "rijnDaelKeyInstance.blockDecrypt", "You cannot try to decrypt when you only have the encrypt key"
    End If
    If InputLen <= 0 Then
        Err.Raise 2, "rijnDaelKeyInstance.blockDecrypt", "Cannot encrypt a block of zero size"
    End If
    numBlocks = InputLen / 128
    Select Case Mode
        Case RijnDaelCipherModes.ECB
            j = 0
            For i = numBlocks To 1 Step -1
                Block(0) = InputBuffer(0 + j)
                Block(1) = InputBuffer(1 + j)
                Block(2) = InputBuffer(2 + j)
                Block(3) = InputBuffer(3 + j)
                rijndaelDecrypt mRk, mNr, Block, oBlock
                OutputBuffer(0 + j) = oBlock(0)
                OutputBuffer(1 + j) = oBlock(1)
                OutputBuffer(2 + j) = oBlock(2)
                OutputBuffer(3 + j) = oBlock(3)
                j = j + 4
            Next
        Case RijnDaelCipherModes.CBC
            tmpIV(0) = IV(0)
            tmpIV(1) = IV(1)
            tmpIV(2) = IV(2)
            tmpIV(3) = IV(3)
            For i = numBlocks To 1 Step -1
                Block(0) = InputBuffer(0 + j)
                Block(1) = InputBuffer(1 + j)
                Block(2) = InputBuffer(2 + j)
                Block(3) = InputBuffer(3 + j)
                rijndaelDecrypt mRk, mNr, Block, oBlock
                oBlock(0) = oBlock(0) Xor tmpIV(0)
                oBlock(1) = oBlock(1) Xor tmpIV(1)
                oBlock(2) = oBlock(2) Xor tmpIV(2)
                oBlock(3) = oBlock(3) Xor IV(3)
                tmpIV(0) = Block(0)
                tmpIV(1) = Block(1)
                tmpIV(2) = Block(2)
                tmpIV(3) = Block(3)
                OutputBuffer(0 + j) = oBlock(0)
                OutputBuffer(1 + j) = oBlock(1)
                OutputBuffer(2 + j) = oBlock(2)
                OutputBuffer(3 + j) = oBlock(3)
                j = j + 4
            Next
        Case RijnDaelCipherModes.CFB1
        Err.Raise 3, "rijndaelKeyInstance.BlockDecrypt", "Encryption mode CFB1 not yet supported, sorry!"
        ' i.e. Sod off
'        iv = cipher->IV;
'        for (i = numBlocks; i > 0; i--) {
'            memcpy(outBuffer, input, 16);
'            for (k = 0; k < 128; k++) {
'                rijndaelEncrypt(key->ek, key->Nr, iv, block);
'                for (t = 0; t < 15; t++) {
'                    iv[t] = (iv[t] << 1) | (iv[t + 1] >> 7);
'                }
'                iv[15] = (iv[15] << 1) | ((input[k >> 3] >> (7 - (k & 7))) & 1);
'                outBuffer[k >> 3] ^= (block[0] & 0x80U) >> (k & 7);
'            }
'            outBuffer += 16;
'            input += 16;
'        }
'        break;
        
    End Select
    BlockDecrypt = 128 * numBlocks
End Function

' Original C-Source for blockDecrypt()
'int blockDecrypt(cipherInstance *cipher, keyInstance *key,
'        BYTE *input, int inputLen, BYTE *outBuffer) {
'    int i, k, t, numBlocks;
'    u8 block[16], *iv;
'
'    if (cipher == NULL ||
'        key == NULL ||
'        cipher->mode != MODE_CFB1 && key->direction == DIR_ENCRYPT) {
'        return BAD_CIPHER_STATE;
'    }
'    if (input == NULL || inputLen <= 0) {
'        return 0; /* nothing to do */
'    }
'
'    numBlocks = inputLen/128;
'
'    switch (cipher->mode) {
'    Case MODE_ECB:
'        for (i = numBlocks; i > 0; i--) {
'            rijndaelDecrypt(key->rk, key->Nr, input, outBuffer);
'            input += 16;
'            outBuffer += 16;
'        }
'        break;
'
'    Case MODE_CBC:
'        iv = cipher->IV;
'        for (i = numBlocks; i > 0; i--) {
'            rijndaelDecrypt(key->rk, key->Nr, input, block);
'            ((u32*)block)[0] ^= ((u32*)iv)[0];
'            ((u32*)block)[1] ^= ((u32*)iv)[1];
'            ((u32*)block)[2] ^= ((u32*)iv)[2];
'            ((u32*)block)[3] ^= ((u32*)iv)[3];
'            memcpy(cipher->IV, input, 16);
'            memcpy(outBuffer, block, 16);
'            input += 16;
'            outBuffer += 16;
'        }
'        break;
'
'    Case MODE_CFB1:
'        iv = cipher->IV;
'        for (i = numBlocks; i > 0; i--) {
'            memcpy(outBuffer, input, 16);
'            for (k = 0; k < 128; k++) {
'                rijndaelEncrypt(key->ek, key->Nr, iv, block);
'                for (t = 0; t < 15; t++) {
'                    iv[t] = (iv[t] << 1) | (iv[t + 1] >> 7);
'                }
'                iv[15] = (iv[15] << 1) | ((input[k >> 3] >> (7 - (k & 7))) & 1);
'                outBuffer[k >> 3] ^= (block[0] & 0x80U) >> (k & 7);
'            }
'            outBuffer += 16;
'            input += 16;
'        }
'        break;
'
'default:
'        return BAD_CIPHER_STATE;
'    }
'
'    return 128*numBlocks;
'}


' These two commented functions I will implement in the next
' release.  For now, use your own padding.
'/**
' * Encrypt data partitioned in octets, using RFC 2040-like padding.
' *
' * @param   input           data to be encrypted (octet sequence)
' * @param   inputOctets     input length in octets (not bits)
' * @param   outBuffer       encrypted output data
' *
' * @return  length in octets (not bits) of the encrypted output buffer.
' */
'Public Function PadEncrypt(InputBuffer() As Long, Octets As Long, OutputBuffer() As Long)
'Dim i As Long, numBlocks As Long, padLength As Long
'Dim Block(4) As Long
'
'    If mDirection = Decrypt Then
'        Err.Raise 1, "rijnDaelKeyInstance.PadEncrypt", "You cannot try to encrypt when you only have the decrypt key"
'    End If
'    If InputLen <= 0 Then
'        Err.Raise 2, "rijnDaelKeyInstance.PadEncrypt", "Cannot encrypt a block of zero size"
'    End If
'    numBlocks = Octets \ 16
'    Select Case Mode
'        Case RijnDaelCipherModes.ECB
'            j = 0
'            For i = numBlocks To 1 Step -1
'                Block(0) = InputBuffer(0 + j)
'                Block(1) = InputBuffer(1 + j)
'                Block(2) = InputBuffer(2 + j)
'                Block(3) = InputBuffer(3 + j)
'                rijndaelEncrypt mRk, mNr, Block, oBlock
'                OutBuffer(0 + j) = oBlock(0)
'                OutBuffer(1 + j) = oBlock(1)
'                OutBuffer(2 + j) = oBlock(2)
'                OutBuffer(3 + j) = oBlock(3)
'                j = j + 4
'            Next
'        Case RijnDaelCipherModes.CBC
'            j = 0
'            tmpIV(0) = IV(0)
'            tmpIV(1) = IV(1)
'            tmpIV(2) = IV(2)
'            tmpIV(3) = IV(3)
'            For i = numBlocks To 1 Step -1
'                Block(0) = InputBuffer(0 + j) Xor tmpIV(0)
'                Block(1) = InputBuffer(1 + j) Xor tmpIV(1)
'                Block(2) = InputBuffer(2 + j) Xor tmpIV(2)
'                Block(3) = InputBuffer(3 + j) Xor tmpIV(4)
'                rijndaelEncrypt mRk, mNr, Block, oBlock
'                OutBuffer(0 + j) = oBlock(0)
'                OutBuffer(1 + j) = oBlock(1)
'                OutBuffer(2 + j) = oBlock(2)
'                OutBuffer(3 + j) = oBlock(3)
'                tmpIV(0) = oBlock(0)
'                tmpIV(1) = oBlock(1)
'                tmpIV(2) = oBlock(2)
'                tmpIV(3) = oBlock(3)
'                j = j + 4
'            Next
'        Case RijnDaelCipherModes.CFB1
'            Err.Raise 3, "rijndaelKeyInstance.BlockEncrypt", "Encryption mode CFB1 not yet supported, sorry!"
'    End Select
'End Function
'    Case MODE_ECB:
'        for (i = numBlocks; i > 0; i--) {
'            rijndaelEncrypt(key->rk, key->Nr, input, outBuffer);
'            input += 16;
'            outBuffer += 16;
'        }
'        padLen = 16 - (inputOctets - 16*numBlocks);
'        assert(padLen > 0 && padLen <= 16);
'        memcpy(block, input, 16 - padLen);
'        memset(block + 16 - padLen, padLen, padLen);
'        rijndaelEncrypt(key->rk, key->Nr, block, outBuffer);
'        break;
'
'    Case MODE_CBC:
'        iv = cipher->IV;
'        for (i = numBlocks; i > 0; i--) {
'            ((u32*)block)[0] = ((u32*)input)[0] ^ ((u32*)iv)[0];
'            ((u32*)block)[1] = ((u32*)input)[1] ^ ((u32*)iv)[1];
'            ((u32*)block)[2] = ((u32*)input)[2] ^ ((u32*)iv)[2];
'            ((u32*)block)[3] = ((u32*)input)[3] ^ ((u32*)iv)[3];
'            rijndaelEncrypt(key->rk, key->Nr, block, outBuffer);
'            iv = outBuffer;
'            input += 16;
'            outBuffer += 16;
'        }
'        padLen = 16 - (inputOctets - 16*numBlocks);
'        assert(padLen > 0 && padLen <= 16);
'        for (i = 0; i < 16 - padLen; i++) {
'            block[i] = input[i] ^ iv[i];
'        }
'        for (i = 16 - padLen; i < 16; i++) {
'            block[i] = (BYTE)padLen ^ iv[i];
'        }
'        rijndaelEncrypt(key->rk, key->Nr, block, outBuffer);
'        break;
'
'default:
'        return BAD_CIPHER_STATE;
'    }
'
'    return 16*(numBlocks + 1);
'}
'
'int padDecrypt(cipherInstance *cipher, keyInstance *key,
'        BYTE *input, int inputOctets, BYTE *outBuffer) {
'    int i, numBlocks, padLen;
'    u8 block[16];
'
'    if (cipher == NULL ||
'        key == NULL ||
'        key->direction == DIR_ENCRYPT) {
'        return BAD_CIPHER_STATE;
'    }
'    if (input == NULL || inputOctets <= 0) {
'        return 0; /* nothing to do */
'    }
'    if (inputOctets % 16 != 0) {
'        return BAD_DATA;
'    }
'
'    numBlocks = inputOctets/16;
'
'    switch (cipher->mode) {
'    Case MODE_ECB:
'        /* all blocks but last */
'        for (i = numBlocks - 1; i > 0; i--) {
'            rijndaelDecrypt(key->rk, key->Nr, input, outBuffer);
'            input += 16;
'            outBuffer += 16;
'        }
'        /* last block */
'        rijndaelDecrypt(key->rk, key->Nr, input, block);
'        padLen = block[15];
'        if (padLen >= 16) {
'            return BAD_DATA;
'        }
'        for (i = 16 - padLen; i < 16; i++) {
'            if (block[i] != padLen) {
'                return BAD_DATA;
'            }
'        }
'        memcpy(outBuffer, block, 16 - padLen);
'        break;
'
'    Case MODE_CBC:
'        /* all blocks but last */
'        for (i = numBlocks - 1; i > 0; i--) {
'            rijndaelDecrypt(key->rk, key->Nr, input, block);
'            ((u32*)block)[0] ^= ((u32*)cipher->IV)[0];
'            ((u32*)block)[1] ^= ((u32*)cipher->IV)[1];
'            ((u32*)block)[2] ^= ((u32*)cipher->IV)[2];
'            ((u32*)block)[3] ^= ((u32*)cipher->IV)[3];
'            memcpy(cipher->IV, input, 16);
'            memcpy(outBuffer, block, 16);
'            input += 16;
'            outBuffer += 16;
'        }
'        /* last block */
'        rijndaelDecrypt(key->rk, key->Nr, input, block);
'        ((u32*)block)[0] ^= ((u32*)cipher->IV)[0];
'        ((u32*)block)[1] ^= ((u32*)cipher->IV)[1];
'        ((u32*)block)[2] ^= ((u32*)cipher->IV)[2];
'        ((u32*)block)[3] ^= ((u32*)cipher->IV)[3];
'        padLen = block[15];
'        if (padLen <= 0 || padLen > 16) {
'            return BAD_DATA;
'        }
'        for (i = 16 - padLen; i < 16; i++) {
'            if (block[i] != padLen) {
'                return BAD_DATA;
'            }
'        }
'        memcpy(outBuffer, block, 16 - padLen);
'        break;
'
'default:
'        return BAD_CIPHER_STATE;
'    }
'
'    return 16*numBlocks - padLen;
'}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91亚洲大成网污www| 美女网站色91| 日韩成人一区二区| 国精品**一区二区三区在线蜜桃| 91在线丨porny丨国产| 26uuu另类欧美| 亚洲无线码一区二区三区| 国内精品视频一区二区三区八戒 | 午夜欧美一区二区三区在线播放| 蓝色福利精品导航| 欧美艳星brazzers| 国产精品久久久一区麻豆最新章节| 亚洲动漫第一页| 国产精品不卡在线观看| 丁香六月久久综合狠狠色| 天天av天天翘天天综合网色鬼国产| 国产精品一级黄| 亚洲小说春色综合另类电影| 精品区一区二区| 色94色欧美sute亚洲线路一久 | 成人app在线| 一区视频在线播放| 日韩一区二区不卡| 91久久国产综合久久| 成人手机电影网| 日韩一区二区三区av| 欧美视频在线观看一区| 亚洲 欧美综合在线网络| 欧美一级高清片在线观看| 国产精品高潮呻吟| 日韩欧美成人午夜| 2023国产精品| 亚洲一区成人在线| 国内精品伊人久久久久av影院| 国产成人免费视频精品含羞草妖精 | 国产麻豆视频一区| 午夜欧美在线一二页| 亚洲精品乱码久久久久久久久 | 成人午夜视频网站| 亚洲女性喷水在线观看一区| 日韩小视频在线观看专区| 99久久伊人网影院| 亚洲综合免费观看高清完整版| 欧美日韩中文字幕一区| 欧美视频一区二区在线观看| 另类小说图片综合网| 精品日韩av一区二区| 日韩一区二区三区在线视频| 日韩欧美久久久| 国产视频911| 亚洲另类色综合网站| 亚洲1区2区3区视频| 成人免费视频app| 欧美午夜寂寞影院| 欧美国产乱子伦 | 欧美精品久久99| 国产欧美中文在线| 亚洲国产aⅴ天堂久久| 国产精品18久久久久久久久久久久 | 成人美女视频在线观看18| 在线区一区二视频| 国产女同互慰高潮91漫画| 天天综合天天综合色| 欧美性色黄大片| 亚洲电影一级黄| 视频一区视频二区在线观看| 亚洲黄色性网站| 亚洲国产wwwccc36天堂| 美国毛片一区二区三区| 91免费版在线| 在线播放91灌醉迷j高跟美女| 欧美精品v国产精品v日韩精品| 国产亚洲综合性久久久影院| 亚洲成人精品一区二区| 色国产综合视频| 日韩欧美一区二区三区在线| 久久久久国产精品免费免费搜索| 国产精品卡一卡二| 首页亚洲欧美制服丝腿| 日韩高清中文字幕一区| 色综合亚洲欧洲| 26uuu亚洲综合色欧美| 亚洲福利视频三区| 欧美日本在线播放| 五月天激情综合| 欧美剧情片在线观看| 久久国产福利国产秒拍| 日韩视频免费观看高清在线视频| 国产精品久久久久久久久免费相片 | 亚洲va欧美va天堂v国产综合| 91片黄在线观看| 一区二区三区成人在线视频| 欧美日本一区二区在线观看| 三级欧美韩日大片在线看| 精品成人一区二区| 色综合久久久久久久| 日本不卡在线视频| 国产欧美一区二区精品仙草咪| 色婷婷综合久久久久中文 | 精品乱人伦小说| 丁香啪啪综合成人亚洲小说| 亚洲国产成人porn| 欧美国产97人人爽人人喊| 欧美日韩高清不卡| 成人av在线影院| 欧美国产成人在线| 欧美一区二区在线免费观看| 高清成人免费视频| 亚洲电影一区二区三区| 中文字幕日韩一区| 国产女人aaa级久久久级 | 国产成人啪免费观看软件| 午夜精品福利一区二区三区蜜桃| 国产亚洲美州欧州综合国| 精品99一区二区三区| 日韩亚洲欧美综合| 4hu四虎永久在线影院成人| 一本色道**综合亚洲精品蜜桃冫| 国产酒店精品激情| 日本伊人色综合网| 日本亚洲三级在线| 奇米色一区二区| 久久精品久久久精品美女| 五月婷婷另类国产| 美女视频黄免费的久久| 图片区日韩欧美亚洲| 一区二区三区在线观看动漫| 国产日韩欧美精品综合| 综合在线观看色| 午夜精品久久一牛影视| 麻豆一区二区99久久久久| 国产成人在线免费观看| 成人福利视频在线看| 欧美性大战久久| 欧美精品一区二区高清在线观看| 国产精品国产三级国产a| 伊人夜夜躁av伊人久久| 久久精品久久综合| 色诱视频网站一区| 国产女人aaa级久久久级| 色婷婷综合五月| 久久er精品视频| 不卡一区二区中文字幕| 欧美精品久久天天躁| 日韩美女啊v在线免费观看| 亚洲高清免费观看| 成人精品免费网站| 欧美成人精品福利| 一区二区三区四区视频精品免费 | 色综合中文字幕国产| 欧美一区二区三区思思人| 亚洲同性gay激情无套| 国产mv日韩mv欧美| 国产亚洲精品资源在线26u| 蜜桃视频一区二区三区在线观看| 欧美伊人久久大香线蕉综合69| 国产精品免费免费| 国产在线不卡一区| 国产欧美一区二区精品性色| 国产乱码精品一区二区三| 日韩一二三四区| 国产一区二区导航在线播放| 欧美成人在线直播| 精品亚洲porn| 欧美高清在线精品一区| 豆国产96在线|亚洲| 国产精品国产馆在线真实露脸| 成人av高清在线| 亚洲激情男女视频| 欧美一区二区视频在线观看2020| 日本视频在线一区| 精品国产亚洲一区二区三区在线观看| 日韩精品电影在线| 欧美成人一区二区三区片免费| 国产成人在线电影| 国产精品不卡视频| 91精品国产一区二区三区香蕉 | 精品一区二区三区的国产在线播放 | 国产精品久久久久久久久久免费看 | 石原莉奈在线亚洲二区| 久久精品一区二区| 色综合中文字幕国产| 久久99精品久久久久久国产越南 | 国产精品天美传媒沈樵| 欧美日韩视频在线观看一区二区三区 | 欧美区一区二区三区| 成人小视频在线观看| 日本aⅴ免费视频一区二区三区| 精品久久久久一区二区国产| 91免费看`日韩一区二区| 国产一区二区三区四 | 日韩av成人高清| 亚洲精品福利视频网站| 国产日产精品1区| 日韩一级成人av| 日韩午夜电影av| 日韩一级二级三级精品视频| 欧美精品v国产精品v日韩精品| 91片黄在线观看| 91国产免费看|