- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
旧的slowAES 库存在问题。
尝试解密时,在 js 中它会生成一个,而在 php 中它会生成另一个。
控制台中有很多我无法弄清楚的错误。
告诉我出了什么事?如何获得相同的 key ?
<?php
ini_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 HAVE
echo "<br>";
echo "016e9be78dd5130beb5febcd328ff588"; // WHAT I NEED
?>
dd2f6d60b939b390dc19688babc3873d
Notice: Undefined offset: 16 in /var/www/myuser/data/www/example.com/cryptovh/aes.php on line 386
Notice: Undefined index: in /var/www/myuser/data/www/example.com/cryptovh/aes.php on line 386
Notice: Undefined offset: 20 in /var/www/myuser/data/www/example.com/cryptovh/aes.php on line 386
Notice: Undefined index: in /var/www/myuser/data/www/example.com/cryptovh/aes.php on line 386
Notice: Undefined offset: 24 in /var/www/myuser/data/www/example.com/cryptovh/aes.php on line 386
Notice: Undefined index: in /var/www/myuser/data/www/example.com/panel/cryptovh/aes.php on line 386
最佳答案
在 slowaes/php/aes_fast.php ,mixColumns
中MixColumns操作的反演方法实现不正确,else 块必须是:
...
} 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]];
}
}
...
invMain
,第 3 行,其中
i
必须替换为
$i
.
openssl_encrypt
/
openssl_decrypt
或类似的应该使用。
关于php - slowAES 解密到另一个 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61314533/
旧的slowAES 库存在问题。 尝试解密时,在 js 中它会生成一个,而在 php 中它会生成另一个。 控制台中有很多我无法弄清楚的错误。 告诉我出了什么事?如何获得相同的 key ? decryp
第一次发贴在这里。这里很棒的社区。经过无数小时的搜索,我无法找出我面临的这个问题的答案。 首先,在加密/解密、密码学等方面,我不是大师。我只想在这个领域走得那么远,而不会迷路。我编写代码的主要框架是
我正在尝试使用零填充在 CBC 模式下执行 AES 加密。有谁知道 aesSlow 是否支持零填充?根据我对代码的阅读,它没有,如果是这样的话;谁能告诉我为什么? 我正在使用需要这种加密方法的第 3
是否可以使用 slowaes 中的 python 类进行 AES ECB 加密? AESModeOfOperation 支持 OFB、CFB 和 CBC 模式。有没有一种方法可以使用其中一种模式来模拟
基本上,我如何在 CBC/PKCS7 中用 javascript 加密,以便在 php 或 .NET 中解密? 我试过 slowAES,但加密输出文本似乎不正确。 我比较了 slowAES 和 .NE
我正在尝试使用 .NET 中的 javascript 库 SlowAES 和 RijndaelManaged 类设置 AES 加密/解密。 我在阅读 this post 后选择了这种方法,其中 Che
我有一个在我服务器上的 PhantomJS 中运行的脚本,我需要将密码作为命令行参数传递给该脚本。对于那些不熟悉 PhantomJS 的人来说,它是一个 headless 的 webkit 浏览器,在
我是一名优秀的程序员,十分优秀!