Common/DingTalkCrypt.cs
(开头部分) 10KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Text;
using System.Security.Cryptography;
using Suite.Corp;
using System.Collections;
namespace Suite.API
{
class DingTalkCrypt
{
private readonly string m_sEncodingAESKey;
private readonly string m_sToken;
private readonly string m_sSuiteKey;
/**ask getPaddingBytes key固定长度**/
private static readonly int AES_ENCODE_KEY_LENGTH = 43;
/**加密随机字符串字节长度**/
//private static readonly int RANDOM_LENGTH = 16;
enum DingTalkCryptErrorCode
{
/**成功**/
SUCCESS = 0,
/**加密明文文本非法**/
ENCRYPTION_PLAINTEXT_ILLEGAL = 900001,
/**加密时间戳参数非法**/
ENCRYPTION_TIMESTAMP_ILLEGAL = 900002,
/**加密随机字符串参数非法**/
ENCRYPTION_NONCE_ILLEGAL = 900003,
/**不合法的aeskey**/
AES_KEY_ILLEGAL = 900004,
/**签名不匹配**/
SIGNATURE_NOT_MATCH = 900005,
/**计算签名错误**/
COMPUTE_SIGNATURE_ERROR = 900006,
/**计算加密文字错误**/
COMPUTE_ENCRYPT_TEXT_ERROR = 900007,
/**计算解密文字错误**/
COMPUTE_DECRYPT_TEXT_ERROR = 900008,
/**计算解密文字长度不匹配**/
COMPUTE_DECRYPT_TEXT_LENGTH_ERROR = 900009,
/**计算解密文字suiteKey不匹配**/
COMPUTE_DECRYPT_TEXT_SuiteKey_ERROR = 900010,
};
/// <summary>
/// 构造函数
/// </summary>
/// <param name="token">钉钉开放平台上,开发者设置的token</param>
/// <param name="encodingAesKey">钉钉开放台上,开发者设置的EncodingAESKey</param>
/// <param name="suiteKey">钉钉开放平台上,开发者设置的suiteKey</param>
public DingTalkCrypt(string token, string encodingAesKey, string suiteKey)
{
m_sToken = token;
m_sSuiteKey = suiteKey;
m_sEncodingAESKey = encodingAesKey;
}
/// <summary>
/// 将消息加密,返回加密后字符串
/// </summary>
后面还有 202 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读 AI
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
