# 生成随机密码 - GenerateRandomPassword
#### 功能介绍
生成随机密码。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-dew/dew_02_0002.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-dew/dew_02_0308.html)。
- 如果使用身份策略授权，当前API调用无需身份策略权限。
 
#### URI
POST /v1/{project_id}/csms/generate-password
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释：** 项目ID。可参考[获取项目ID](https://support.huaweicloud.com/api-dew/dew_02_0009.html)获取。 **约束限制：** 不涉及 **取值范围：** 以IAM服务接口返回值为准，字符长度32-32 **默认取值：** 不涉及 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 用户Token。 通过调用IAM服务查询用户Token接口获取（响应消息头中X-Subject-Token的值）。使用AK、SK等认证方式，此处非必选 **约束限制：** 不涉及 **取值范围：** IAM服务查询用户Token接口为准 **默认取值：** 不涉及 |
   
表3请求Body参数 
| 参数                         | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| password_policy_name       | 否    | String  | **参数解释：** 密码策略名称 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                |
| length                     | 否    | Integer | **参数解释：** 待生成密码的长度 **约束限制：** 不涉及 **取值范围：** 1\~255 **默认取值：** 32                                                                                                                            |
| exclude_characters         | 否    | String  | **参数解释：** 需要排除的字符，指定的字符不会出现在生成的密码中 **约束限制：** 不涉及 **取值范围：** 字符集：\^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!"#$%\&''()\*+,-./:;\<=\>?@\[\\\]\^_\`{\|}\~ **默认取值：** 不涉及 |
| exclude_lowercase          | 否    | Boolean | **参数解释：** 排除小写字母，设置为true生成的密码将不包含小写字母 **约束限制：** 不涉及 **取值范围：** true 或者 false **默认取值：** false                                                                                               |
| exclude_uppercase          | 否    | Boolean | **参数解释：** 排除大写字母，设置为true生成的密码将不包含大写字母 **约束限制：** 不涉及 **取值范围：** true 或者 false **默认取值：** false                                                                                               |
| exclude_numbers            | 否    | Boolean | **参数解释：** 排除数字，设置为true生成的密码将不包含数字 **约束限制：** 不涉及 **取值范围：** true 或者 false **默认取值：** false                                                                                                   |
| exclude_punctuation        | 否    | Boolean | **参数解释：** 排除特殊符号，设置为true生成的密码将不包含特殊符号 **约束限制：** 不涉及 **取值范围：** true 或者 false **默认取值：** false                                                                                               |
| include_space              | 否    | Boolean | **参数解释：** 包含空格，设置为true生成的密码将包含空格 **约束限制：** 不涉及 **取值范围：** true 或者 false **默认取值：** false                                                                                                    |
| require_each_included_type | 否    | Boolean | **参数解释：** 包含每一种类型。大、小写、数字、特殊符号 **约束限制：** 不可与其他排除类型共用，如require_each_included_type为true，但是排除全部大写字母。将会导致密码无法生成 **取值范围：** true 或者 false **默认取值：** false                                       |
   
#### 响应参数
**状态码：200**
表4响应Body参数 
| 参数       | 参数类型   | 描述                                                                                                                                                            |
|:---|:---|:---|
| password | String | **参数解释：** 生成的随机密码 **取值范围：** 不涉及 |
   
#### 请求示例
随机生成一个长度为32字节的密码。
```
{
  "length" : 32
}
```
#### 响应示例
**状态码：200**
password
```
{
  "password" : "9w=14WFX%IH~QqBvUbV0?;H|Vx!7M-;p"
}
```
#### 状态码
| 状态码 | 描述       |
|:---|:---|
| 200 | password |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-dew/ErrorCode.html)。
