第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

slowAES 解密為另一個(gè)密鑰

slowAES 解密為另一個(gè)密鑰

PHP
慕運(yùn)維8079593 2022-12-30 17:49:51
舊的 slowAES 庫(kù)有問題。嘗試解密時(shí),在 js 中它會(huì)生成一個(gè),而在 php 中它會(huì)生成另一個(gè)??刂婆_(tái)中有很多我無(wú)法弄清楚的錯(cuò)誤。告訴我出了什么事?如何獲得相同的密鑰?<?phpini_set('display_errors', 1);ini_set('display_startup_errors', 1);error_reporting(E_ALL);$a = "cd36b76f96b103402924bd5f76d3c204";$b = "680eb6a492f48ea1b342aea7b79e18eb";$c = "f746749b113236227058bd471f5c91dc";function toHex($args){    if(func_num_args() != 1 || !is_array($args)){        $args = func_get_args();    }    $ret = '';    for($i = 0; $i < count($args) ;$i++)        $ret .= sprintf('%02x', $args[$i]);    return $ret;}function toNumbers($s){    $ret = array();    for($i=0; $i<strlen($s); $i+=2){        $ret[] = hexdec(substr($s, $i, 2));    }    return $ret;}function getRandom($min,$max){    if($min === null)        $min = 0;    if($max === null)        $max = 1;    return mt_rand($min, $max);}function generateSharedKey($len){    if($len === null)        $len = 16;    $key = array();    for($i = 0; $i < $len; $i++)        $key[] = getRandom(0,255);    return $key;}function generatePrivateKey($s,$size){    if(function_exists('mhash') && defined('MHASH_SHA256')){        return convertStringToByteArray(substr(mhash(MHASH_SHA256, $s), 0, $size));    }else{        throw new Exception('cryptoHelpers::generatePrivateKey currently requires mhash');    }}function convertStringToByteArray($s){    $byteArray = array();    for($i = 0; $i < strlen($s); $i++){        $byteArray[] = ord($s[$i]);    }    return $byteArray;}function convertByteArrayToString($byteArray){    $s = '';    for($i = 0; $i < count($byteArray); $i++){        $s .= chr($byteArray[$i]);    }    return $s;}include 'cryptovh/aes.php';$aes = new AES();$token = $aes->decrypt(toNumbers($c), 16, 2, toNumbers($a), 16, toNumbers($b));echo toHex($token); // WHAT I HAVEecho "<br>";echo "016e9be78dd5130beb5febcd328ff588"; // WHAT I NEED?>cryptovh/aes.php 是以下副本:https ://github.com/aleaxit/slowaes/blob/master/php/aes_fast.php使用這個(gè)庫(kù): https ://github.com/aleaxit/slowaes在輸出中,我得到了這個(gè)標(biāo)記: dd2f6d60b939b390dc19688babc3873d
查看完整描述

1 回答

?
幕布斯7119047

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊

slowaes/php/aes_fast.php中,方法中 MixColumns 操作的反轉(zhuǎn)mixColumns實(shí)現(xiàn)不正確,else-block 必須是:

...

} else {

    for ($c = 0; $c < 4; $c++) {

        $t[   $c] = self::$GEX[$state[$c]] ^ self::$GBX[$state[4+$c]] ^ self::$GDX[$state[8+$c]] ^ self::$G9X[$state[12+$c]];

        $t[ 4+$c] = self::$G9X[$state[$c]] ^ self::$GEX[$state[4+$c]] ^ self::$GBX[$state[8+$c]] ^ self::$GDX[$state[12+$c]];

        $t[ 8+$c] = self::$GDX[$state[$c]] ^ self::$G9X[$state[4+$c]] ^ self::$GEX[$state[8+$c]] ^ self::$GBX[$state[12+$c]];

        $t[12+$c] = self::$GBX[$state[$c]] ^ self::$GDX[$state[4+$c]] ^ self::$G9X[$state[8+$c]] ^ self::$GEX[$state[12+$c]];

    }

}

...

解密需要 MixColumns 操作的逆運(yùn)算。

方法中也有錯(cuò)字invMain,第 3 行,i必須用$i.

通過這些更改,可以獲得預(yù)期的結(jié)果,可以在此處進(jìn)行驗(yàn)證。警告也不再顯示。

我在這里提出了一個(gè)問題。請(qǐng)注意自述文件:該代碼更多地用于教學(xué)目的。在實(shí)踐中,應(yīng)該使用openssl_encrypt/或類似的。openssl_decrypt


查看完整回答
反對(duì) 回復(fù) 2022-12-30
  • 1 回答
  • 0 關(guān)注
  • 102 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)