Skip to content

应用管理

应用流程

下发的应用 ID 和 密钥

appid     : 15
appsecret : 8987f93fc65c655cea50d83cd8b02785

原始参数

{
    "id": 5,
    "note": "单元测试应用",
    "title": "Testing 着朝",
    "file": "不参与签名",
    "_myname": "不参与签名",
    "images": [
        "https://test-oss.iliexiang.com/_res/images/01.jpg",
        "https://test-oss.iliexiang.com/_res/images/02.jpg"
    ]
}

对数据追加 appid 和 timestamp

{
    "id": 5,
    "note": "单元测试应用",
    "title": "Testing 着朝",
    "file": "不参与签名",
    "_myname": "不参与签名",
    "images": [
        "https://test-oss.iliexiang.com/_res/images/01.jpg",
        "https://test-oss.iliexiang.com/_res/images/02.jpg"
    ],
    "appid": 15,
    "timestamp": 1676077738
}

对于下划线开始的参数和部分特殊参数不进行验签

特殊的参数有 sign , image , file , appid

对于特殊的参数进行清理

清理后的参数

{
    "id": "5",
    "note": "单元测试应用",
    "title": "Testing 着朝",
    "images": [
        "https://test-oss.iliexiang.com/_res/images/01.jpg",
        "https://test-oss.iliexiang.com/_res/images/02.jpg"
    ],
    "timestamp": "1676077738"
}

对于清理后的参数根据一级 key 进行字母排序

排序后的结果

{
    "id": "5",
    "images": [
        "https://test-oss.iliexiang.com/_res/images/01.jpg",
        "https://test-oss.iliexiang.com/_res/images/02.jpg"
    ],
    "note": "单元测试应用",
    "timestamp": "1676077738",
    "title": "Testing 着朝"
}

对数据进行转 kv 操作

转换后的结果

id=5,images=["https://test-oss.iliexiang.com/_res/images/01.jpg","https://test-oss.iliexiang.com/_res/images/02.jpg"],note=单元测试应用,timestamp=1676077738,title=Testing 着朝

对 kv 后的数据进行和 secret 的 md5 运算

php
$sign = md5(md5($kvStr) . $secret)
// 1dcdd8d2dffbe1ebaa9448247b18eada