Skip to main content

uapi_sdk_rust/models/generated/
post_text_aes_decrypt_advanced_request.rs

1/*
2 * UAPI
3 *
4 * UAPI 官方接口文档
5 *
6 * The version of the OpenAPI document: 1.0.0
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct PostTextAesDecryptAdvancedRequest {
16    /// 待解密的密文(Base64编码)。此值来自加密接口返回的ciphertext字段
17    #[serde(rename = "text")]
18    pub text: String,
19    /// 解密密钥(必须与加密时相同)
20    #[serde(rename = "key")]
21    pub key: String,
22    /// 加密模式(必须与加密时相同):GCM/CBC/ECB/CTR/OFB/CFB
23    #[serde(rename = "mode")]
24    pub mode: Mode,
25    /// 填充方式(可选,必须与加密时相同):PKCS7/ZERO/NONE。GCM模式默认为NONE
26    #[serde(rename = "padding", skip_serializing_if = "Option::is_none")]
27    pub padding: Option<Padding>,
28    /// 初始化向量(非GCM模式必须提供,Base64编码)。此值来自加密接口返回的iv字段
29    #[serde(rename = "iv", skip_serializing_if = "Option::is_none")]
30    pub iv: Option<String>,
31}
32
33impl PostTextAesDecryptAdvancedRequest {
34    pub fn new(text: String, key: String, mode: Mode) -> PostTextAesDecryptAdvancedRequest {
35        PostTextAesDecryptAdvancedRequest {
36            text,
37            key,
38            mode,
39            padding: None,
40            iv: None,
41        }
42    }
43}
44/// 加密模式(必须与加密时相同):GCM/CBC/ECB/CTR/OFB/CFB
45#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
46pub enum Mode {
47    #[serde(rename = "GCM")]
48    Gcm,
49    #[serde(rename = "CBC")]
50    Cbc,
51    #[serde(rename = "ECB")]
52    Ecb,
53    #[serde(rename = "CTR")]
54    Ctr,
55    #[serde(rename = "OFB")]
56    Ofb,
57    #[serde(rename = "CFB")]
58    Cfb,
59}
60
61impl Default for Mode {
62    fn default() -> Mode {
63        Self::Gcm
64    }
65}
66/// 填充方式(可选,必须与加密时相同):PKCS7/ZERO/NONE。GCM模式默认为NONE
67#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
68pub enum Padding {
69    #[serde(rename = "PKCS7")]
70    Pkcs7,
71    #[serde(rename = "ZERO")]
72    Zero,
73    #[serde(rename = "NONE")]
74    None,
75}
76
77impl Default for Padding {
78    fn default() -> Padding {
79        Self::Pkcs7
80    }
81}
82