Yuebon.WebApi/Controllers/DbToolsController.cs

(开头部分) 3KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using Yuebon.AspNetCore.ViewModel;
using Yuebon.Commons.Encrypt;

namespace Yuebon.WebApi.Controllers;

/// <summary>
/// 数据库连接加解密
/// </summary>
[ApiController]
[Produces("application/json")]
[Route("api/[controller]")]
[ApiVersion("1.0")]
public class DbToolsController : ApiController
{
    /// <summary>
    /// 连接字符串加密
    /// </summary>
    /// <param name="dbConnInfo"></param>
    /// <returns></returns>
    [HttpPost("ConnStrEncrypt")]
    [YuebonAuthorize("ConnStrEncrypt")]
    public async Task<IActionResult> ConnStrEncrypt([FromQuery]DbConnInfo dbConnInfo)
    {
        CommonResult result = new CommonResult();
        DBConnResult dBConnResult = new DBConnResult();
        if (dbConnInfo != null)
        {
            if (string.IsNullOrEmpty(dbConnInfo.DbName))
            {
                result.ErrMsg = "数据库名称不能为空";

            }
            else if (string.IsNullOrEmpty(dbConnInfo.DbAddress))
            {
                result.ErrMsg = "访问地址不能为空";
            }
            else if (string.IsNullOrEmpty(dbConnInfo.DbUserName))
            {
                result.ErrMsg = "访问用户不能为空";
            }
            else if (string.IsNullOrEmpty(dbConnInfo.DbPassword))
            {
                result.ErrMsg = "访问密码不能为空";
            }
            if (dbConnInfo.DbType == 1)
            {
                dBConnResult.ConnStr = string.Format("Server={0};Database={1};User id={2}; password={3};MultipleActiveResultSets=True;", dbConnInfo.DbAddress, dbConnInfo.DbName, dbConnInfo.DbUserName, dbConnInfo.DbPassword);
                dBConnResult.EncryptConnStr = DEncrypt.Encrypt(dBConnResult.ConnStr);
                result.Success = true;
                result.ErrCode = ErrCode.successCode;
            }
            else if (dbConnInfo.DbType == 0)
            {
                dBConnResult.ConnStr = string.Format("server={0};database={1};uid={2}; pwd={3};port=3306;CharSet=utf8mb4;Allow User Variables=True;SslMode=none;AllowLoadLocalInfile=true;", dbConnInfo.DbAddress, dbConnInfo.DbName, dbConnInfo.DbUserName, dbConnInfo.DbPassword);
                dBConnResult.EncryptConnStr = DEncrypt.Encrypt(dBConnResult.ConnStr);
                result.Success = true;
                result.ErrCode = ErrCode.successCode;
            }
            result.ResData = dBConnResult;

后面还有 29 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。