markdown文档示例
## 签名算法
#### 第一步:
设所有发送或者接收到的数据为集合`M`,将集合`M`内非空参数值的参数按照参数名`ASCII`码从小到大排序(字典序),使用`URL`键值对的格式(即key1=value1&key2=value2…)拼接成字符串`stringA`。
特别注意以下重要规则:
>d ◆ 参数名ASCII码从小到大排序(字典序);
◆ 如果参数的值为空不参与签名;
◆ 参数名区分大小写;
#### 第二步:
在`stringA`最后拼接上`key`得到`stringSignTemp`字符串,并对`stringSignTemp`进行`MD5`运算,再将得到的字符串所有字符转换为大写,得到sign值。
>w key是指你的API秘钥
注意不要泄露,妥善保存
## 举例:
假设传送的参数如下:
`userid:100`
`changeValue:50`
第一步:对参数按照`key=value`的格式,并按照参数名ASCII字典序排序如下:
`stringA="changeValue=50&userid=100"`
第二步:拼接API密钥:
`stringSignTemp=stringA+"&key=192006250b4c09247ec02edce69f6a2d"`
`sign=MD5(stringSignTemp).toUpperCase()="9A0A8659F005D6984697E2CA0A9CF3B7" `
## 代码示例
```python
@hook('before_request')
def before():
ip = request.environ.get('REMOTE_ADDR')
logger.info('%s %s', ip, request.path)
if config.IS_DEBUG:
keys = request.params.keys()
for key in keys:
logger.info('%s=%s' % (key, request.params.get(key, '')))
logger.info('------------------------------------------')
```
## 内部文档跳转
可以添加内部文档跳转链接,点击跳转到 [HTTP登录文档示例](doc:78558034)
## 引用示例
> 这是默认的引用样式
我们也添加了一些自定义的引用样式,请看下面
>i 这是一个提示信息块。
输入 >i 就可以使用了,i表示info
>d 这是一个危险提示块
输入 >d 就可以使用了,d表示danger
>w 这是一个警告信息块
输入 >w 就可以使用了,w表示warning
>s 这是一个成功信息块
输入 >s 就可以使用了,s表示success
## 图片示例,可以插入图片
![星标亮3x.png](https://easydoc-1255322048.image.myqcloud.com//cover/1542158874_星标-亮@3x.png)
## 使用 HTML 自定义任意颜色和格式
<span style="color:#ff0000">这是一个HTML控制的红色文字</span>
<details>
<summary>折叠内容标题</summary>
你还能使用折叠信息,只需要一个 details 标签就好了
</details>
## 嵌入视频
<iframe src="//player.bilibili.com/player.html?aid=463799129&bvid=BV11L411g7U1&cid=432476626&page=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true" width=800px height=500px> </iframe>
更多使用技巧,请查看 [高级技巧](https://easydoc.net/#/s/31322154/66267384)