算法API文档 - HeavenDuke/BattleSAC GitHub Wiki
Authentication
用途: 用于第一步 - 身份认证
输入:
字段名 | 类型 | 含义 | 备注 |
---|---|---|---|
message | String | 用私钥加密(签名)后的密文 | |
correct | String | 如果能够正确解密,所得到的明文 | |
pubs | Array(String) | 所有己方人员的公钥 |
输入样例:
{
"message": "...",
"correct": "...",
"pubs": [
"...",
"...",
"...",
"..."
]
}
输出:
字段名 | 类型 | 含义 | 备注 |
---|---|---|---|
valid | Int | 能够正常解密的公钥对应在输入数组中的下标 | 如果没有则为-1 |
result | Array(String) | 经过解密后得到的明文 | 也有可能是乱码 |
输出样例:
{
"valid": -1,
"result": [
"...",
"...",
"...",
"..."
]
}
Millionaire
用途: 用于指挥官的选举
输入:
字段名 | 类型 | 含义 | 备注 |
---|---|---|---|
user1 | JSON | 第一名用户的基本信息 | 包括uid与title |
user2 | JSON | 第二名用户的基本信息 | 包括uid与title |
输入样例:
{
"message": "...",
"correct": "...",
"pubs": [
"...",
"...",
"...",
"..."
]
}
输出:
字段名 | 类型 | 含义 | 备注 |
---|---|---|---|
valid | Int | 能够正常解密的公钥对应在输入数组中的下标 | 如果没有则为-1 |
result | Array(String) | 经过解密后得到的明文 | 也有可能是乱码 |
输出样例:
{
"result": [
"...",
"...",
"...",
"..."
]
}
Voting
Generate Lock
用途: 用于为一个补给箱生成密码锁
输入:
字段名 | 类型 | 含义 | 备注 |
---|---|---|---|
scale | Int | 团队总人数 |
输入样例:
{
"scale": 5
}
输出:
字段名 | 类型 | 含义 | 备注 |
---|---|---|---|
lock | Int | 补给箱对应的密码 | |
minOpen | Int | 开启补给箱所需要的最少人数 | |
keys | Array(Array(int)[2]) | 每个人所持有的点坐标 |
输出样例:
{
"lock": 1234,
"minOpen": 3,
"keys": [
[1, 1494],
[2, 1942],
[3, 2578],
[4, 3402],
[5, 4414],
]
}
Open Case
用途: 用于开箱子
输入:
字段名 | 类型 | 含义 | 备注 |
---|---|---|---|
keys | Array(Array(int)[2]) | 参与开启行为的所有人所持有的点坐标 |
输入样例:
{
"keys": [
[1, 1494],
[2, 1942],
[3, 2578],
[4, 3402],
[5, 4414],
]
}
输出:
字段名 | 类型 | 含义 | 备注 |
---|---|---|---|
valid | Boolean | 是否成功开启 | 是对应true |
输出样例:
{
"valid": true
}