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 算力,解读结果公开显示在下面。
还没有人解读过这个文件。