Commit 293a1b6d by NitefullWind

1. 新签名算法测试通过。

parent c255c6e5
...@@ -236,15 +236,16 @@ QByteArray FMTask::JsonObjToMap(const QJsonObject &jsonObj, QString parentJson) ...@@ -236,15 +236,16 @@ QByteArray FMTask::JsonObjToMap(const QJsonObject &jsonObj, QString parentJson)
case QJsonValue::Array: case QJsonValue::Array:
break; break;
case QJsonValue::Null: case QJsonValue::Null:
signArray.append(QString("%1=&").arg(parentJson+key));
break; break;
case QJsonValue::Bool: case QJsonValue::Bool:
signArray.append(QString("%1:%2&").arg(parentJson+key).arg(QString::number(jsonObj[key].toBool()))); signArray.append(QString("%1=%2&").arg(parentJson+key).arg(jsonObj[key].toBool() ? "true" : "false"));
break; break;
case QJsonValue::Double: case QJsonValue::Double:
signArray.append(QString("%1:%2&").arg(parentJson+key).arg(QString::number(jsonObj[key].toDouble()))); signArray.append(QString("%1=%2&").arg(parentJson+key).arg(QString::number(jsonObj[key].toDouble())));
break; break;
case QJsonValue::String: case QJsonValue::String:
signArray.append(QString("%1:%2&").arg(parentJson+key).arg(jsonObj[key].toString())); signArray.append(QString("%1=%2&").arg(parentJson+key).arg(jsonObj[key].toString()));
break; break;
case QJsonValue::Object: case QJsonValue::Object:
signArray.append(JsonObjToMap(jsonObj[key].toObject(), parentJson+key)); signArray.append(JsonObjToMap(jsonObj[key].toObject(), parentJson+key));
...@@ -255,6 +256,11 @@ QByteArray FMTask::JsonObjToMap(const QJsonObject &jsonObj, QString parentJson) ...@@ -255,6 +256,11 @@ QByteArray FMTask::JsonObjToMap(const QJsonObject &jsonObj, QString parentJson)
} }
if(parentJson.isEmpty()) { if(parentJson.isEmpty()) {
signArray = signArray.mid(0, signArray.length()-1); signArray = signArray.mid(0, signArray.length()-1);
#ifdef FMTEST
signArray.append("freemud");
#else
signArray.append(KEY_CODE);
#endif
} }
return signArray; return signArray;
} }
......
...@@ -105,7 +105,7 @@ void TestPlugin::test_JsonObjToMap_data() ...@@ -105,7 +105,7 @@ void TestPlugin::test_JsonObjToMap_data()
QTest::addColumn<QByteArray>("Map"); QTest::addColumn<QByteArray>("Map");
QByteArray json = "{\"null\":null,\"bool\":0,\"int\":100,\"double\":66.6,\"string\":\"string\",\"array\":[{\"a1\":\"a1\"},{\"a2\":\"a2\"}],\"object\":{\"o1s\":\"o1s\",\"o2\":[{\"o2a\":\"o2a\"}],\"o3\":{\"o3o\":\"o3o\"}}}" ; QByteArray json = "{\"null\":null,\"bool\":0,\"int\":100,\"double\":66.6,\"string\":\"string\",\"array\":[{\"a1\":\"a1\"},{\"a2\":\"a2\"}],\"object\":{\"o1s\":\"o1s\",\"o2\":[{\"o2a\":\"o2a\"}],\"o3\":{\"o3o\":\"o3o\"}}}" ;
QByteArray map = "bool:0&double:66.6&int:100&object.o1s:o1s&object.o3.o3o:o3o&string:string"; QByteArray map = "bool=0&double=66.6&int=100&null=&object.o1s=o1s&object.o3.o3o=o3o&string=stringfreemud";
QTest::newRow("Simple") << json << map; QTest::newRow("Simple") << json << map;
} }
...@@ -126,9 +126,13 @@ void TestPlugin::test_Sign_data() ...@@ -126,9 +126,13 @@ void TestPlugin::test_Sign_data()
QTest::addColumn<QString>("SignStr"); QTest::addColumn<QString>("SignStr");
QString jsonStr1 = "{\"amount\":100,\"null\":null,\"empty\":\"\",\"bool\":true,\"data\":{\"account\":\"123123123\",\"object\":{\"string\":\"string\"},\"products\":[{\"name\":\"p1\",\"pid\":\"1001\"},{\"name\":\"p2\",\"pid\":\"1002\"},{\"name\":\"p3\",\"pid\":\"1003\"}]}}"; QString jsonStr1 = "{\"amount\":100,\"null\":null,\"empty\":\"\",\"bool\":true,\"data\":{\"account\":\"123123123\",\"object\":{\"string\":\"string\"},\"products\":[{\"name\":\"p1\",\"pid\":\"1001\"},{\"name\":\"p2\",\"pid\":\"1002\"},{\"name\":\"p3\",\"pid\":\"1003\"}]}}";
QString signStr = "1ec71402a014d24b9c0934a68e4e42c9"; QString signStr1 = "d27e68bc5801c51f16458b3a384befa5";
QTest::newRow("First") << jsonStr1 << signStr; QString jsonStr2 = "{\"amount\":100,\"null\":null,\"empty\":\"\",\"bool\":true,\"data\":{\"object\":{\"string\":\"string\",\"obj\":{\"b\":1,\"a\":0,\"ab\":\"\",\"aa\":null},\"array\":[\"a\"]},\"bool\":false,\"account\":\"123123123\",\"products\":[{\"name\":\"p1\",\"pid\":\"1001\"},{\"name\":\"p2\",\"pid\":\"1002\"}]}}";
QString signStr2 = "ce543c28a6b062f32e5c2e5ac68f52ec";
QTest::newRow("First") << jsonStr1 << signStr1;
QTest::newRow("Second") << jsonStr2 << signStr2;
} }
void TestPlugin::test_Sign() void TestPlugin::test_Sign()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment