'00001',
'device_id' => 'DEVICE001',
'software_version' => 'V1.0.1',
'hardware_version' => 'V1.0.2',
'timestamp' => 1500000000
];
$postResult = Http::POST($url, $params);
echo $postResult;
}
public function actionAec()
{
$aes = new Aes('12345678');
$encrypted = $aes->encrypt('this is en AES testing');
echo '要加密的字符串:this is en AES testing
加密后的字符串:'. $encrypted. '
';
$decrypted = $aes->decrypt($encrypted);
echo '要解密的字符串:'. $encrypted, '
解密后的字符串:'. $decrypted;
}
public function actionDeviceSt()
{
$url = 'http://kingb:8012/app-api/web/reportDeviceVersion';
//$url = 'http://47.107.95.101/app-api/web/reportDeviceVersion';
$params = [
'barcode' => '0002000100010001',
'device_id' => 'DEVICE000000002',
'software_version' => 'V1.0.20191001',
'hardware_version' => '',
'timestamp' => time()
];
$params = json_encode($params);
$data = array(
'119.120'.'.'.rand(1,255).'.'.rand(1,255),
'124.174'.'.'.rand(1,255).'.'.rand(1,255),
'116.249'.'.'.rand(1,255).'.'.rand(1,255),
'118.125'.'.'.rand(1,255).'.'.rand(1,255),
'42.175'.'.'.rand(1,255).'.'.rand(1,255),
'124.162'.'.'.rand(1,255).'.'.rand(1,255),
'211.167'.'.'.rand(1,255).'.'.rand(1,255),
'58.206'.'.'.rand(1,255).'.'.rand(1,255),
'117.24'.'.'.rand(1,255).'.'.rand(1,255),
'203.93'.'.'.rand(1,255).'.'.rand(1,255),
);
$ip = $data[array_rand($data)];
$header = [
'CLIENT-IP:'.$ip,
'X-FORWARDED-FOR:'.$ip,
];
$params = '{"barcode":"0002000100010001","device_id":"DGDEVBICEID00BB8", "software_version":"V1.0.1", "hardware_version":"", "timestamp":'.time().'}';
$postResult = Http::POST($url, $params,true, $header);
echo $postResult;
}
public function actionCheckAppUpdate()
{
//actionCheckAppVersion
$url = 'http://47.107.95.101/app-api/web/checkAppVersion';
$params = [
'barcode' => '0004000100010001',
'device_id' => 'V1.00.20190708',
'current_version' => '1',
'package_name' => 'com.kingboard.settings',
];
$params = json_encode($params);
//$params = '{"barcode":"0004000100010001","device_id":"DGDEVBICEID00001","package_name":"com.kingboard.settings","current_version":"V1.00.20190708"}';
$postResult = Http::POST($url, $params);
echo $postResult;
}
public function actionCheckOtaUpdate()
{
//actionCheckAppVersion
$url = 'http://47.107.95.101/app-api/web/checkOtaVersion';
//$url = 'http://kingb:8012/app-api/web/checkOtaVersion';
$params = [
'barcode' => '0001000100010001',
'device_id' => 'DGDEVBICEID00001',
'software_version' => 'V1.00.1A.20191002',
'hardware_version' => '',
];
$params = json_encode($params);
//$params = '{"barcode":"0001000100010001","device_id":"DEVICEID00001","software_version":"V1.00.1A.20191002","hardware_version":""}';
$postResult = Http::POST($url, $params);
echo $postResult;
}
//{"barcode":"0001000100010001","device_id":"DEVICEID00001","current_version":"V1.00.1A.20191022","target_version":"V1.00.1A.20191022","status":5,"timestamp":"1572759793"}
public function actionReportOtaEvent()
{
//actionCheckAppVersion
$url = 'http://47.107.95.101/app-api/web/reportOtaUpgradeEvent';
$url = 'http://kingb:8012/reportOtaUpgradeEvent';
$params = [
"barcode" => '0001000100010001',
"device_id" => 'DGDEVBICEID00002',
"current_version" => 'V1.00.1A.20191022',
"target_version" => 'V1.00.1A.20191022',
"status" => 3,
"error_code" => '',
"timestamp" => time()
];
$params = json_encode($params);
//$params = '{"barcode":"0001000100010001","device_id":"DGDEVBICEID00002", "current_version":"V1.00.1A.20191022", "target_version":"V1.00.1A.20191023","status":5,"error_code":"", "timestamp":"1572759793"}';
$postResult = Http::POST($url, $params);
echo $postResult;
}
public function actionReportAppEvent()
{
//actionCheckAppVersion
$url = 'https://hiboard.cn/reportAppUpgradeEvent';
//$url = 'http://kingb:8012/reportAppUpgradeEvent';
$params = [
'barcode' => '0001000100010002',
'device_id' => 'DHDEVBICEID00001',
'current_version' => 'V1.0.1',
'target_version' => 'V1.0.1',
'package_name' => 'com.app.king.dd',
"status" => 1,
"error_code" => '',
"timestamp" => time()
];
$params = json_encode($params);
//$params = '{"barcode":"0001000100010001","device_id":"DGDEVBICEID00001","current_version":"1","target_version":"2","status":"5","error_code":"0","timestamp":"1572767677"}';
$postResult = Http::POST($url, $params);
echo $postResult;
}
public function actionEncodePost()
{
$url = 'http://kingb:8012/app-api/web/CryptTxt';
$randKey = '98765432';//Utils::rand(32);
$rsaKeys = Yii::$app->params['AUTH_DEVICE_RSA_PKCS_1'];
$rsa = new RSACrypt($rsaKeys['PRIVATE'], $rsaKeys['PUBLIC']);
$aes = new Aes($randKey);
$deviceId = 'oelooeloeloeloe';
$manufactureNo = '0001';
$tt = time();
$sign = md5($deviceId . $tt . $randKey);
$dd = json_encode(['manufacture' => $manufactureNo, 'timestamp' => $tt, 'sign' => $sign, 'device_id' => $deviceId]);
$params = [
'randomKey' => $rsa->encrypt($randKey),
'content' => $aes->encrypt($dd)
];
$params = json_encode($params);
$postResult = Http::POST($url, $params);
$postResult = json_decode($postResult, true);
$decodeJson = $aes->decrypt($postResult['content']);
print_r($decodeJson);
}
/**
* 授权设备,加密过
*/
public function actionAuthDevice()
{
$url = 'http://kingb:8012/authDevice';
$url = 'https://hiboard.cn/authDevice';
$manufactureNo = '0001';
$device_id = 'HDEVICEG0000001';
$projectNo = '0001';
$modelNo = '0001';
$productionNo = '0001';
$timestamp = time();
$randKey = Utils::rand(16);
$salt = "13456";
$sign = md5($manufactureNo. $projectNo. $modelNo . $productionNo . $timestamp .$device_id. $salt);
$deviceParams = [
'manufacture' => $manufactureNo,
'device_id' => $device_id,
'project' => $projectNo,
'model' => $modelNo,
'production' => $productionNo,
'timestamp' => $timestamp,
'sign' => $sign,
];
$deviceParams = json_encode($deviceParams);
$rsaKeys = Yii::$app->params['AUTH_DEVICE_RSA_PKCS_1'];
$rsa = new RSACrypt($rsaKeys['PRIVATE'], $rsaKeys['PUBLIC']);
$randomKey = $rsa->encrypt($randKey);
$aes = new Aes(substr(md5($randKey.'12356'), 8, 16));
$params = [
'randomKey' => $randomKey,
'content' => $aes->encrypt($deviceParams)
];
$params = json_encode($params);
$postResult = Http::POST($url, $params);
$postResult = json_decode($postResult, true);
$decodeJson = $aes->decrypt($postResult['content']);
echo $decodeJson;
}
public function actionAuthDeviceN()
{
//$url = 'http://kingb:8012/authDeviceN';
$url = 'http://47.107.95.101/app-api/web/authDeviceN';
$manufactureNo = '0001';
$device_id = 'BDEVICEG0000006';
$projectNo = '0001';
$modelNo = '0001';
$productionNo = '0002';
$timestamp = time();
$salt = "13456";
$sign = md5($manufactureNo. $projectNo. $modelNo . $productionNo . $timestamp .$device_id. $salt);
$deviceParams = [
'manufacture' => $manufactureNo,
'device_id' => $device_id,
'project' => $projectNo,
'model' => $modelNo,
'production' => $productionNo,
'timestamp' => $timestamp,
'sign' => $sign,
];
$deviceParams = json_encode($deviceParams);
$postResult = Http::POST($url, $deviceParams);
echo $postResult;
}
public function actionA()
{
$str = "87654321";
$rsaKeys = Yii::$app->params['AUTH_DEVICE_RSA_PKCS_1'];
$rsa = new RSACrypt($rsaKeys['PRIVATE'], $rsaKeys['PUBLIC']);
$deStr = "Eu2nx0APQBcicPXuw1r+4vKJCPJ5ln5uzepYXSJ1mfSaymjgdGdXT9s5SxNHXe4cK8ZRO9wK7RxO\/MjSJwOoTDvy7xez+rC96yBDJV3vZ5bv85OtKc8k6R60mfc\/Fasw+dTI1FBKs9BNY2fs6w+67HJqeUD1JenuZSyX4ryWM44=";
//echo $deStr."\r\n";
$randKey = $rsa->decrypt($deStr);
echo $randKey."\r\n";
$randKey = substr(md5($randKey.'12356'), 8, 16)."\r\n";
echo $randKey."\r\n";
$aes = new Aes($randKey);
echo $aes->decrypt("1nnp92dtMfxUSvmZHQPeWp4smz0DzVzp4ZDJHdR1R1Dt8KvPYZ2WC6TEc+ACbwOxCtop6gBIn1DNNNL5cVw3nU8kl4yRXIsMojciK064rekOCVmRln3Z2NHn6SThmcLcwthxwHt0rlXVdeWecvhpXve1QPk0eD1qEfGsP2B3D4X9iUlZ6JZndM3og7XpukrawtPWazIVaBqlfa4ugfD86mAHlD+RYl+ZW2QpDGVGPXk=");
}
/**
* 批量产生授权数据
*/
public function actionPGTest()
{
$url = 'http://47.107.95.101/app-api/web/authDevice';
$manufactureNo = '000E';
$projectNo = '0001';
$modelNo = '000B';
$productionNo = '0010';
$salt = "13456";
$rsaKeys = Yii::$app->params['AUTH_DEVICE_RSA_PKCS_1'];
$rsa = new RSACrypt($rsaKeys['PRIVATE'], $rsaKeys['PUBLIC']);
for($i = 1; $i < 5000; $i++) {
$device_id = 'HDEVICEG000000'.sprintf('%04X',$i);
$timestamp = time();
$randKey = Utils::rand(16);
$sign = md5($manufactureNo. $projectNo. $modelNo . $productionNo . $timestamp .$device_id. $salt);
$deviceParams = [
'manufacture' => $manufactureNo,
'device_id' => $device_id,
'project' => $projectNo,
'model' => $modelNo,
'production' => $productionNo,
'timestamp' => $timestamp,
'sign' => $sign,
];
$deviceParams = json_encode($deviceParams);
$randomKey = $rsa->encrypt($randKey);
$aes = new Aes(substr(md5($randKey.'12356'), 8, 16));
$params = [
'randomKey' => $randomKey,
'content' => $aes->encrypt($deviceParams)
];
$params = json_encode($params);
//echo $url." POST ".$params."\r\n";
$postResult = Http::POST($url, $params);
$postResult = json_decode($postResult, true);
$decodeJson = $aes->decrypt($postResult['content']);
echo $decodeJson."\r\n";
}
}
/**
* 批量产生不加密的设备授权数据
*/
public function actionPgnTest()
{
$url = 'http://47.107.95.101/app-api/web/authDeviceN';
$manufactureNo = '000E';
$projectNo = '0001';
$modelNo = '000B';
$productionNo = '0010';
for($i = 1; $i < 3; $i++) {
$device_id = 'ADEVICEG000000'.sprintf('%04X',$i);
$timestamp = time();
$salt = "13456";
$sign = md5($manufactureNo. $projectNo. $modelNo . $productionNo . $timestamp .$device_id. $salt);
$deviceParams = [
'manufacture' => $manufactureNo,
'device_id' => $device_id,
'project' => $projectNo,
'model' => $modelNo,
'production' => $productionNo,
'timestamp' => $timestamp,
'sign' => $sign,
];
$deviceParams = json_encode($deviceParams);
echo $url." POST ". $deviceParams."\r\n";
}
}
public function actionB()
{
$url = [ 'http://47.107.95.101/app-api/web/authDevice' => 'https://hiboard.cn/authDevice' ];
}
}