# 接口说明 ## 加签算法 请求Query参数: app, sig, nonce app: 应用id sig: 签名内容 nonce: 随机数 应用使用密钥 secret: 与app绑定的密钥 取body中的"text", "ctxt"数据, 升序排列构成字符串,然后使用&连接 比如: ```xml 15140420103&15140420104 51j061hev1epl7sf79o1ntds52jvvm3u00000001&rmaa2q88pth4ms5sbnl4ge91jfjgcum500000001 ``` 之后拼接nonce,secret内容 ```xml 15140420103&15140420104&nonce123456&secret123456 51j061hev1epl7sf79o1ntds52jvvm3u00000001&rmaa2q88pth4ms5sbnl4ge91jfjgcum500000001&nonce123456&secret123456 ``` 之后计算sha1 ```xml sig = sha1(15140420103&15140420104&nonce123456&secret123456) sig = sha1(51j061hev1epl7sf79o1ntds52jvvm3u00000001&rmaa2q88pth4ms5sbnl4ge91jfjgcum500000001&nonce123456&secret123456) ``` ## 内网地址 dev: http://end-fmes-kms-svc.dev-fmes.svc, http://192.168.3.3:31113 uat: http://end-fmes-kms-svc.uat-fmes.svc prod: http://end-fmes-kms-svc.rs-iam.svc ## 加密接口 POST /api/kms/v1/encrypt/1 ```json { "kind": "PHONE", "text": "15140420103" } ``` 例子: https://127.0.0.1/api/kms/v1/encrypt/1?app=1&sig=76d66f91da0b0e0e67a7c88b519ddd7649c2d920&nonce=95f90bf132913901dbb4ae88d28cf0f2 ## 解密接口 POST /api/kms/v1/decrypt/1 ```json { "kind": "PHONE", "ctxt": "51j061hev1epl7sf79o1ntds52jvvm3u00000001" } ``` 例子: https://127.0.0.1/api/kms/v1/decrypt/1?app=1&sig=76d66f91da0b0e0e67a7c88b519ddd7649c2d920&nonce=95f90bf132913901dbb4ae88d28cf0f2 ## 加密接口(多个) POST /api/kms/v1/encrypt/all ```json { "texts": [ { "kind": "PHONE", "text": "15140420103" }, { "kind": "PHONE", "text": "15140420104" } ] } ``` 例子: https://127.0.0.1/api/kms/v1/encrypt/all?app=1&sig=cbc65203a60e555941614e12cfb9797a86266982&nonce=123456 ## 解密接口(多个) POST /api/kms/v1/decrypt/all ```json { "ctxts": [ { "kind": "PHONE", "ctxt": "rmaa2q88pth4ms5sbnl4ge91jfjgcum500000001" }, { "kind": "PHONE", "ctxt": "51j061hev1epl7sf79o1ntds52jvvm3u00000001" } ] } ``` 例子: https://127.0.0.1/api/kms/v1/decrypt/all?app=1&sig=c469b65fa85b5e569abc87bad0f19cb02ff64dc9&nonce=123456