自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 资源 (3)
  • 收藏
  • 关注

原创 微信小程序访问开发者服务器时最简单的token鉴权实现思路

本文概述了小程序鉴权流程:小程序调用wx.login获取code,提交至服务器;服务器用code换取openId,查询用户信息,生成带过期时间的token并缓存;返回token给小程序,后续请求携带token,服务端验证其有效性。该方案实现简单,适用于小型项目,但需注意设置合理过期时间、支持token刷新及退出时清理缓存,以保障安全。

2026-09-25 23:55:18 218

原创 .NET Framework 下 C# MVC 项目敏感信息安全存储方法

本文探讨了.NET Framework下C# MVC项目中敏感信息安全管理方案。针对硬编码敏感信息存在的安全风险(如源码泄露、合规问题),提出基于Windows DPAPI的加密存储方案。该方案通过管理员初始化页面输入敏感信息,服务器端使用DPAPI加密后存储至私有目录,业务代码使用时动态解密。文章详细介绍了DPAPI的优势(机器/用户绑定、自动密钥管理)并提供了完整的C#实现代码,包括加密/解密工具类和管理员控制逻辑,确保敏感信息仅在内存中临时使用,满足安全合规要求。

2026-02-02 15:55:09 516

原创 C#+SQL:使用参数化查询通过values子句插入多行数据

摘要:本文介绍了在SQL中使用参数化查询批量插入多行数据的方法。通过C#代码示例展示了如何构建动态参数化查询,包括创建参数占位符列表(@name0,@age0)和对应的参数值集合。关键点包括使用SqlParameter对象封装参数、通过AddRange方法批量添加参数,以及使用string.Join组合多个VALUES子句。这种方法既能实现高效批量插入,又能有效防止SQL注入攻击,同时保持代码的可读性和安全性。

2026-01-29 15:05:53 246

原创 C#中运用JWT机制进行安全传输和信息认证

JWT是一种基于Token的跨域认证解决方案,服务器端通过密钥生成Token返回给客户端,客户端存储后随请求发送。服务器提供生成Token、验证有效性和解析用户信息的方法。本文仅提供在.NET Framework MVC框架下,生成JWT字符串、验证Token等功能的C#代码,实际应用中,Token通常放在请求头的Authorization字段中,建议使用认证过滤器实现权限控制。

2026-01-28 10:05:11 592

原创 C#语言版:解密微信小程序中的加密信息(以wx.getUserInfo获取的encryptedData为例)

本文介绍了微信小程序敏感数据解密方法,使用C#实现wx.getUserInfo接口返回的encryptedData解密流程。微信采用AES-128-CBC算法加密数据,需使用SessionKey、IV和PKCS7填充规则。本文提供了完整的C#解密代码示例,通过AES.Create()创建解密器,将Base64编码的加密数据、会话密钥和初始向量转换为字节数组后进行解密,最终返回JSON格式的明文数据。该方法适用于获取用户openid、unionid等敏感信息,为开发者提供安全可靠的数据解密方案。

2025-12-24 14:41:08 348

原创 创建和使用 Promise 函数的几个注意点

本文总结了JavaScript中Promise使用的5个关键点:1)手动创建Promise时必须处理reject;2)resolve/reject只能传一个参数,多参数需封装为数组或对象;3)封装Promise函数时无需加async;4)Promise执行顺序为同步代码优先;5)调用Promise函数的不同方式及返回值差异。这些细节能帮助开发者更规范地使用Promise处理异步操作。

2025-12-24 11:49:46 226

原创 SQL联合查询中如何显示COUNT为0的记录

本文探讨了SQL查询中GROUP BY和COUNT函数统计时WHERE条件导致分组数据缺失的问题。当WHERE子句过滤掉某些记录后,分组统计会遗漏计数为0的结果。解决方案是使用LEFT JOIN联合查询结合子查询,先对满足条件的记录进行分组统计,再与主表关联,并通过ISNULL函数将NULL值转换为0。这种方法确保了所有分组都能完整显示,包括计数为0的记录,是解决此类问题的通用方案。

2025-09-30 10:09:02 361

原创 C#对称加密(AES)的简单代码

C#对称加密(AES)

2025-09-28 17:24:18 246

原创 微信小程序input组件通过bindinput事件解决拼音阶段字符被算入maxlength长度限制问题

在开发微信小程序时,我们经常会遇到需要对用户输入内容进行长度限制的场景。但在中文输入场景中,其将拼音阶段的临时字符纳入长度计算‌,用户使用拼音输入法时,未转化为汉字的拼音字符串会被误判为有效输入,导致输入框过早触发截断。这一设计缺陷在部分安卓机上可通过调整输入法设置缓解问题,但iOS系统无此类设置,常造成输入流程被迫终止,严重影响交互体验‌。通过弃用maxlength属性,改用bindinput事件,动态监听输入内容,在bindinput回调中实时获取输入值,从而达到对对文本长度的控制。

2025-03-11 14:14:21 856

原创 SQL排序技巧:日期大于等于今天的记录顺序排列,日期小于今天的记录倒序排列

在数据管理和分析中,排序是一项基本且至关重要的操作,SQL查询提供了强大的排序功能,允许用户根据特定规则对查询结果进行排序。

2025-03-10 16:25:53 944

原创 微信小程序接入DeepSeek模型(火山方舟),并在视图中流式输出

DeepSeek,作为一款先进的自然语言处理模型,以其强大的文本理解和生成能力著称。DeepSeek模型支持流式处理,这意味着它可以边计算边输出,而不必等待整个生成过程结束后再输出结果,大大缩短了用户的等待时间。通过流式输出,DeepSeek模型可以在处理过程中实时地将结果发送给小程序,小程序前端则能够立即接收到这些数据,并在视图中动态展示出来。本文中的DeepSeek模型为火山方舟(字节跳动火山引擎)中的DeepSeek大模型,当前可以免费使用。

2025-03-03 21:33:54 3423

原创 Sql小技巧(通过distinct、row_number去重、通过convert函数精准提取日期)

Sql小技巧

2025-02-26 17:32:03 666

原创 微信小程序调用火山方舟(字节跳动火山引擎)中的DeepSeek大模型

微信小程序调用火山方舟(字节跳动火山引擎)中的DeepSeek大模型

2025-02-24 12:50:12 3147

原创 C#:最少的代码实现人民币数字转大写

最少的代码实现人民币数字转大写

2025-02-11 11:29:52 285

原创 微信小程序调用百度“菜品识别”API

一、获取API使用权限(该API每年有3000次免费调用次数)菜品识别 - 图像识别 | 百度智能云文档。

2025-01-10 16:05:06 1119

原创 C#连接SqlServer、Access、Excel的连接语句

C#连接SqlServer、Access、Excel的连接语句

2023-05-04 16:24:41 601

原创 在MVC主站点中添加子站点

在MVC主站点中添加子站点,子站点生成独立的DLL文件。

2023-04-24 16:12:34 352

原创 C#:将引用的外部DLL文件和当前项目编译打包成一个EXE文件

C#:将引用的外部DLL文件和当前项目编译打包成一个EXE文件

2023-04-18 15:28:30 4338

原创 C#:WinForm应用程序中用鼠标移动控件位置

C#:WinForm应用程序中用鼠标移动控件位置

2023-04-14 16:21:22 2879

原创 C#:WinForm页面接收鼠标拖入的数据

C#:WinForm页面接收鼠标拖入的数据

2023-04-14 15:52:56 408

原创 C#:MVC返回FileResult文件对象,并在VIEW视图中下载

FileResult是一个抽象类,有3个继承子类:FilePathResul、FileContentResult、FileStreamResult,表示一个文件对象,三者区别在于,FilePath 通过路径传送文件到客户端,FileContent 通过二进制数据的方式,而FileStream 是通过Stream(流)的方式来传送。Controller为这三个文件结果类型提供了一个名为File的重载方法。

2023-04-11 16:05:02 2376

原创 C#:MVC返回JSON数据,并在VIEW视图显示

C#:MVC返回JSON数据,并在VIEW视图显示

2023-03-31 12:35:36 1340

原创 C#中使用BarcodeLib插件生成并显示条形码

使用BarcodeLib插件生成并显示条形码

2023-03-24 12:47:45 1549

原创 C#中利用BarCode插件生成并显示条形码和二维码

通过BarCode插件生成并显示指定字符的条形码和二维码

2023-03-20 15:01:55 2105

原创 access数据库操作小技巧(数据分页、update中使用子查询)

access中数据分页和update中使用子查询

2022-10-27 16:57:59 1638

原创 文件的MIME类型

文件的MIME类型

2022-09-06 14:30:52 5405

原创 SqlServer中查询结果实现分页功能

SqlServer中查询结果实现分页功能,1.通过top...where ...not in条件限制;2.通过ROW_NUMBER()函数实现;3.通过offset和fetch子句实现。

2022-06-24 11:53:15 2424

原创 C#中利用NPOI包操作Excel文件

利用NPOI包可以非常方便地创建、修改导出Excel文件。下载npoi.2.5.2.nupkg及其依赖项首先需要通过NuGet管理器导入NPOI包,并且在使用前加入如下引用:using NPOI.SS.UserModel; //提供ISheet、IRow、ICell等接口using NPOI.XSSF.UserModel; //提供相关类操作扩展名为xlsx的2007之后版本Excel文件using NPOI.HSSF.UserModel; //提供相关类操作扩展名为xls的20

2022-01-07 16:23:26 1169

原创 JS动态加载JSON文件并读取数据

JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它采用纯文本格式来存储和表示数据,层次结构简洁和清晰,是理想的数据交换语言。JSON类似 XML,比 XML 更小、更快,更易解析。关键词:动态加载JSON文件、读取JSON文件数据demo.json文件内容var json={"item1":"string","item2":["var1","var2","var3"]}这其实不是一个标准格式的json文件,而是在文件中自定义一

2022-01-06 22:27:17 8061

原创 C#中利用NPOI包操作Word文件

之前一直通过在VS里添加引用COM里Microsoft Word 16.0 Object Library引用,导入Microsoft.Office.Interop.Word命名空间,使用此命名空间里的相关类对Word文件进行操作。这种方法有个致命缺点,就是当电脑里未安装Word软件或者Word软件版本与引用的COM库里的版本不一致时,会导致操作Word文件失败。其实可以利用NuGet里的NPOI包来对Word文件进行操作。下载npoi.2.5.2.nupkg及其依赖项通过NuGet管理器导入NP

2021-06-21 23:45:23 7408 1

原创 C#通过写注册表设置程序随系统启动

要将编写的程序设置成随系统启动,可以通过读写注册表操作实现。有两个要注意的地方,一是要引入Microsoft.Win32这个命名空间,此空间用来提供操作注册表的类——

2021-06-11 23:23:18 903 2

原创 MVC中生成图形验证码并验证(详细)

一、思路通过Random对象生成随机数 ,通过Session对象保存生成的随机验证码,通过Graphics绘图对象在Bitmap位图上进行绘制,并将绘完的位图对象

2021-06-05 00:17:44 1925 2

原创 MVC中生成图形验证码并显示(极简)

一、控制器代码using System;using System.Drawing;using System.Drawing.Imaging;using System.IO;using System.Web.Mvc;namespace XLZXXX.Controllers { public class LoginController : Controller { public ActionResult Index(){ return V

2021-06-04 17:16:16 320

原创 使用JS判断访问设备是电脑还是手机

一、前言有时在编写前端页面视图时,需要根据用户不同的访问设备(手机或电脑)对页面设置不同显示样式或跳转到不同的页面。可以通过JS代码获取Navigator对象的userAgent属性,通过

2021-06-03 22:24:26 12934 2

转载 HTTP Content-type对照表(Mine-Type)

扩展名 Content-Type(Mime-Type) 扩展名 Content-Type(Mime-Type) 扩展名 Content-Type(Mime-Type) 0.001 application/x-001 0.301 application/x-301 0.323 ...

2021-06-02 15:45:45 515

原创 MVC中客户端向服务器端上传base64格式的图片

通过HTML中的FileReader对象将图片内容转换为base64字符串,再通过jquery.ajax将base64值传递给控制器,以达到上传文件的目的。

2021-06-02 10:52:12 508 2

原创 cropper动态裁剪图片(极简)

借助cropper插件可以很简单地实现客户端的图片自定义裁剪。cropper插件下载链接(含v1.5.11版Cropper.js、Cropper.css,以及jquery.min.js):

2021-06-02 10:14:20 553

原创 禁止对文本框内指定字符(部分内容)进行修改

在使用文本控件input和textarea时,有时想禁止对其中某些特殊文本进行编辑,比如需要由程序生成的某些自定义特殊标记[img src=...]等。可以通过文本控件的selection

2021-05-28 15:32:06 2266

原创 MVC中通过jquery实现图片预览、上传,并对文件类型、大小进行判断(极简)

一、易出错问题重要提示当直接通过提交表单数据上传文件时,文件上传控件input一定要添加name属性,并且不同的控件也要设置不同的name属性值,否则会导致控制器中的Request.Files方法获取上传文件失败。估计Request.Files方法是通过input控件的name属性来识别并区别上传文件的。一、动态增减上传控件,多文件上传视图代码@{Layout=null;}<!DOCTYPE html><html><head> <me

2021-05-27 18:26:25 539

原创 C#获取文件物理路径(绝对路径)

在WinForm窗体应用程序和Web应用程序中,为了上传文件、读取绝对路径下的文件等功能,需要获取文件的物理路径,可以使用以下这些常用方法。一、在WinForm窗体应用程序中可用以下方法获取应用程序文件所在文件夹:System.Environment.CurrentDirectory;System.IO.Directory.GetCurrentDirectory();System.Windows.Forms.Application.StartupPath;System.AppDomain

2021-05-21 23:45:02 4142 1

npoi.2.5.2.nupkg及其依赖项

NuGet中用于操作Word文件和Excel文件的npoi.2.5.2安装包

2021-05-29

qrcoder.1.4.1.nupkg

NuGet里二维码生成器安装包

2021-05-28

Cropper.js v1.5.11.zip

含v1.5.11版Cropper.js、Cropper.css,以及jquery.min.js

2021-06-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除