我正在从U2系统发送加密的测试数据,以查看是否可以处理和利用它来提高安全性。
在U2中生成加密测试数据的SUBROUTINE是:
RESULT=''
ALGORITHM="rc2-cbc" ; * 128 bit rc2 algorithm in CBC mode
MYKEY="23232323" ; * HEX - Actual Key
IV= "12121212" ; * HEX - Initialization Vector
DATALOC=1 ; * Data in String
KEYLOC=1 ; * Key in String
ACTION=5 ; * Base64 encode after encryption
KEYACTION=1 ; * KEY_ACTUAL_OPENSSL
SALT='' ; * SALT not used
RESULTLOC=1 ; * Result in String RESULT
OPSTRING = ''
RETURN.CODE=ENCRYPT(ALGORITHM,ACTION,DATASTRING,DATALOC,MYKEY,KEYLOC,KEYACTION,SALT,IV,OPSTRING,RESULTLOC)
RETURN.CODE = OPSTRING
正在生成和加密的数据是:
[RAWDATA] => Array
(
[196346] => 05FOAA
[196347] => 05KI
[196328] => 99FOZZ16S10
)
[ENCRYPTED] => Array
(
[196346] => e0XB/jyE9ZM=
[196347] => iaYoHzxYlmM=
[196328] => BS/YmNtlzI95c9NLpl4JVHLJwI/MO3zJm6FKVqu2tcM=
)
我在使用openssl_decrypt的PHP中使用了相同的信息:
$encdata = array_value;
$encryptionMethod = ALGORITHM; //"rc2-cbc"
$encryptionKey = MYKEY;//"23232323"
$options = 0;
$iv = IV; //"12121212"
$decryptedMessage = openssl_decrypt( $encdata, $encryptionMethod, $encryptionKey, $options, $iv );
返回值:bool(false)
我尝试了$ options的不同组合,并尝试对自己的相同数据进行加密,结果却有所不同。
我必须等待24小时才能获取具有任何更改的新文件,所以我想掩盖尽可能多的问题。
我已经阅读了文档,并认为可能存在以下问题:
在我将其发送过夜更新之前的任何其他见解将不胜感激。
PHP Fiddle测试:http://phpfiddle.org/main/code/ixax-umq3