- 博客(26)
- 收藏
- 关注
原创 AES对称加密
本文介绍了在数据库设计中对用户敏感信息进行AES对称加密的实现方法。通过C#代码演示了密钥管理(AesKeyManager)和加密工具类(AesHelper)的实现,包括密钥生成、保护存储以及加解密过程。密钥采用Windows数据保护API(DPAPI)进行加密存储,确保安全性。文章还提供了手机号脱敏显示的实用方法。这种方案既保证了数据可逆解密,又能有效防止数据库泄露导致的隐私暴露,适用于需要保护用户姓名、手机号、身份证号等敏感信息的场景。
2026-06-29 10:57:44
872
原创 使用Hash加密用户密码
本文介绍了使用Hash加密和Salt盐值保护用户密码的方法。主要内容包括:1)Hash加密不可逆,通过二次Hash校验密码;2)每次加密使用随机Salt避免相同密码的Hash结果重复;3)数据库需存储Hash值和Salt值;4)提供了C#实现代码示例,包含生成Salt、计算Hash和验证密码的方法;5)演示了用户注册和登录时的密码处理流程。这种方法有效防止数据库泄露导致密码暴露,提升了系统安全性。全文提供了完整的技术实现方案。
2026-06-18 14:57:13
251
原创 Android 四大组件解析
本文介绍了Android四大组件:Activity、Service、BroadcastReceiver和ContentProvider。
2026-06-02 17:58:45
243
原创 C#中使用FastReport写报告
本文介绍了使用FastReport工具包生成数据报表的方法。主要内容包括:FastReport的简介(支持.NET平台的报表开发,可生成PDF、图表等);NuGet包安装清单(包含FastReport核心包及相关依赖);代码实现部分展示了创建报表页、添加标题、个人信息区域、数据区和图表的具体方法。通过PDFSimpleExport导出PDF并在Panel中显示。该方案适用于需要快速生成包含图表和表格的数据报表场景。
2026-04-29 11:23:51
425
原创 C#中使用Whisper实现语音输入
本文介绍了实现语音输入文本的技术方案,通过NAudio库实现音频录制和静音检测。核心思路是:录制音频时设置声音阈值(0.1f≈20dB),当检测到1.5秒静音时自动停止录制,再调用Whisper识别音频内容。文章详细说明了分贝与振幅的转换计算,并提供了完整的C#实现代码,包括音频录制、音量检测和静音判断逻辑。该方案将本地音频文件识别与实时录音结合,实现了语音转文本功能。
2026-04-10 11:56:00
382
原创 C#中使用Whisper进行语音识别——识别本地wav音频文件
Whisper语音识别工具使用指南 本文介绍了开源语音识别工具Whisper的基本使用方法。资源文件已上传CSDN,包含whisper-cli.exe主程序和不同精度的模型文件(ggml-small.bin、ggml-base.bin等)。文章详细说明了如何将文件添加到项目中并设置相对路径访问,重点展示了C#代码示例,演示了如何调用whisper-cli识别本地wav音频文件。代码中包含了参数设置说明(如指定中文输出)和结果处理方法,同时提供了去除时间戳的正则表达式工具。该工具适用于不同精度要求的语音识别场
2026-04-09 17:39:28
429
原创 C#添加语音识别
本文介绍了如何在C#中使用System.Speech实现语音识别功能。首先需要安装System.Speech包,然后通过SpeechRecognitionEngine类实现语音识别。文章提供了两种识别模式:自由识别和指定命令识别,并给出了完整的代码示例。在自由识别模式下,程序可以识别任意语音输入;在指定命令模式下,则只识别预设的关键词。最后强调了在使用完毕后需要释放语音识别资源以避免内存泄漏。全文代码清晰,注释详细,适合开发者快速上手语音识别功能的实现。
2026-03-31 16:24:49
59
原创 C#项目添加媒体资源
摘要:本文介绍了在Visual Studio中通过Resources.resx文件添加图片资源的步骤。首先右键项目选择属性,然后在属性窗口中找到资源选项并选择"创建或打开程序集资源",通过绿色"+"号添加本地图片资源。添加后可通过Resources.delete(图片命名)在代码中调用,或在UI设计时通过属性面板设置图片资源。文章配有详细的操作截图,帮助开发者快速掌握资源添加方法。
2026-03-20 14:44:37
41
原创 Microsoft Visual Studio 2022修改界面字体大小
摘要:本文介绍如何调整VS窗体字体和颜色设置。操作步骤:1)在菜单栏选择工具-选项;2)在环境选项中找到字体和颜色设置;3)右侧可调整窗体大小等参数。文末配有详细操作截图指引,帮助用户快速完成个性化设置。
2026-03-20 09:57:49
212
原创 EventHandler事件委托类型
本文介绍了C#中EventHandler的基本使用方法。首先演示了如何定义和触发简单事件,通过按钮点击通知外部页面。然后讲解了事件订阅的两种方式:传统方法和Lambda表达式。接着详细说明了如何传递自定义参数:1)创建继承EventArgs的参数类;2)定义泛型EventHandler事件;3)接收带参数的事件。文章强调理解基础概念的重要性,指出虽然代码简单,但掌握事件机制对开发至关重要。适合需要了解C#事件处理基础的开发者阅读。
2026-03-19 16:59:57
71
原创 C#项目中添加本地数据库——SQLite
本文介绍了在C#项目中使用SQLite轻量级ORM库的方法。主要内容包括:1) 安装sqlite-net-pcl NuGet包;2) 推荐的文件组织结构;3) 创建数据表模型(User类)并设置主键和自增字段;4) 实现数据库管理类(DatabaseManager)处理初始化、销毁和重置操作;5) 建立用户表操作类(UserRepository)实现增删改查功能。文章提供了完整的代码示例,并强调了数据库连接管理和文件路径设置等注意事项,为C#项目中集成本地SQLite数据库提供了实用指南。
2026-03-19 16:59:01
1183
原创 使用zipalign 将APK16KB 对齐
本文简要介绍了使用命令行检查和对齐APK文件的方法:1)通过"zipalign-c-v16384"命令校验APK是否16KB对齐,验证成功或失败会显示相应提示;2)如需对齐,使用"zipalign-f-v16384"命令生成新文件;3)建议对齐后再次校验。操作简单明了,适合开发者学习使用。
2025-11-17 09:55:23
286
原创 flutter中使用Isolate线程进行文件写入
本文介绍了在Flutter开发中使用Isolate处理耗时文件写入操作的方法。通过创建子线程避免阻塞UI线程,实现异步文件存储。主要步骤包括:1)获取存储路径;2)初始化Isolate线程并设置定时写入机制;3)在子线程中实现文件合并写入逻辑;4)使用缓存机制批量处理数据。文章提供了完整的代码实现,展示了如何通过ReceivePort/SendPort实现主线程与子线程通信,并使用锁机制确保文件写入安全。该方法适用于需要频繁写入数据的场景,能有效提升应用性能。
2025-09-30 11:09:43
226
原创 SQLite分片存储超大单行数据技巧
本文介绍了在SQLite中处理大数据存储的解决方案。由于SQLite默认单行数据限制约2MB,当需要存储大量数据时,提出了分片存储的方法。文章以存储List<double>类型数据为例,详细说明了实现思路:通过创建两个数据表(主表和分片表),使用外键关联并添加分片序号。具体演示了表结构设计、数据插入和查询拼接的实现代码,包括分片存储、批量插入以及查询时按序重组数据的过程。该方法有效解决了SQLite单行数据容量限制问题,适用于Android等移动端应用场景。
2025-09-03 14:14:30
663
原创 Vue中如何全屏播放视频video
本文介绍了在Vue中实现视频全屏播放及退出时显示自定义缩略图的方法。通过HTML+TailwindCSS固定播放控件尺寸(90px×160px),使用requestFullscreen()实现全屏播放,并通过classList切换object-contain/cover来保持视频比例。关键点包括:1)添加全屏事件监听器处理退出逻辑;2)退出全屏时恢复缩略图样式并暂停视频;3)使用自定义播放按钮。代码提供了完整的实现方案,包括全屏兼容性处理和生命周期管理。
2025-08-19 15:09:46
509
原创 Flutter与Web通信
本文介绍了Flutter与H5页面通信的实现方法,推荐使用第三方SDK flutter_inappwebview。关键步骤包括:1)引入SDK;2)在Dart页面通过addJavaScriptHandler设置回调处理;3)在H5页面通过window.flutter_inappwebview.callHandler发送数据。文中给出了完整的Dart代码示例,并说明本地HTML和远程URL的加载方式。该方法可实现Flutter与H5的双向数据交互,适用于需要在原生应用中处理Web页面数据的场景。
2025-07-30 10:53:40
570
原创 可拖拽控件的实现
在 Flutter 中,GestureDetector 组件可以识别和处理各种手势,包括拖拽手势。利用这一点,并结合Stack中的Positioned即可轻松实现拖拽view功能。
2025-04-11 09:12:03
330
原创 Slider 滑块控件自定义Thumb
Slider 是 Flutter 中用于选择一个范围内值的控件,通常用于调节音量、亮度等场景。它允许用户通过拖动滑块来选择数值。
2025-02-13 14:38:49
805
原创 Flutter 生成.jks打包文件
在项目下打开终端,使用命令行生成文件。这里的myDemo是我给自己的文件命名,大家根据需要修改签名文件名称。文件储存在项目根目录下。找到文件后将其放置在android目录下的app文件夹中。打开app目录下的build.gradle文件,在android中添加如下内容。密钥口令就是密码,这里为了方便所有答案我都填了demo。二、生成key.properties文件。storeFile指向签名文件的存放路径。三、配置build.gradle文件。然后就可以使用打包啦!一、生成.jks文件。
2025-02-11 11:55:54
477
原创 中心按钮凸起的底部导航栏
需要注意的是,BottomAppBar中的占位符是一定要写的,哪怕SizedBox的width为0,我尝试了删掉SizedBox,无法达到显示效果。
2024-12-05 10:38:25
902
原创 Android studio 注册自定义广播
Toast.makeText(context, "检测到意图:" + message, Toast.LENGTH_LONG).show();// RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED 应该作为第三个参数flag传入且不能同时指定。动态注册自定义广播,需要注意的是在onDestroy()中调用unregisterReceiver()取消注册。intent.putExtra("send", "测试成功");注册广播的方式有两种。
2024-06-06 15:50:06
2403
1
原创 VS Code之vscode-fileheader 添加文件头部注释
vscode 添加文件头部注释的方法之一一、添加插件——"vscode-fileheader"1、打开vscode2、打开VS应用商店搜索插件,如下图所示:3、搜索出vscode-fileheader插件后点击安装。
2022-10-30 22:12:24
6596
1
Whisper音频文件识别语音文本
2026-04-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅