摘要: SyncFavor是基于C#开发的免费文件同步工具,运行在windows上,下载链接:https://github.com/bsmith-zhao/sync 同步管理界面: 批量运行界面: 主从同步示例 下载压缩包解压,双击sync.exe启动同步管理器,可以看到空白的管理界面: 点击工具栏的 [添 阅读全文
posted @ 2023-10-19 11:08 bsmith 阅读(83) 评论(0) 推荐(0)
摘要: 软件国际化,主要有两个方面: 1,软件界面静态内容的国际化,如标签,按钮,菜单等文本的多语言显示 2,软件动态内容的国际化,如动态消息,错误提示,确认信息,日志等的多语言显示,这些动态内容往往伴随着一些额外的参数,如删除确认信息,往往需要同时展示带删除内容的相关信息。 综合上面的特征,可以通过Key 阅读全文
posted @ 2023-10-16 12:11 bsmith 阅读(145) 评论(0) 推荐(0)
摘要: C#自带加密库在System.Security.Cryptography中,但是其自带的加密功能比较简单,只有一些基础的加密功能,一些高级加密方法如Aead加密,在最新版本中也只支持AesGcm96。 而基于C#的比较全面的第三方加密库如BouncyCastle.NET功能虽然比较全面,但是执行效率 阅读全文
posted @ 2023-10-16 10:01 bsmith 阅读(352) 评论(0) 推荐(0)
摘要: 在运行需要很长时间完成的任务时,一般需要定期展示当前处理进度,比如批量文件复制时,显示复制的文件数和总传输字节数,这时候就需要用计数器对处理任务的完成度进行统计,并以一定时间间隔(如500ms)显示当前统计结果。 实现上述功能需要使用一些内部变量来保存当前进度: long lastSize; lon 阅读全文
posted @ 2023-10-16 09:34 bsmith 阅读(139) 评论(0) 推荐(0)
摘要: 关联数据的认证加密Aead(authenticated encryption with associated data),是一种同时具备保密性,完整性和可认证性的加密形式,加密过程采用数据分组形式,对同一个密钥,每次加密需要使用不重复的Nonce(Number used only Once),加密后 阅读全文
posted @ 2023-10-15 22:00 bsmith 阅读(216) 评论(0) 推荐(0)
摘要: C#自带MemoryStream,可以作为内存缓存使用,用来存储byte[]数据,但是MemoryStream的扩展机制是通过获取整块连续内存来缓存数据,当需要缓存较大数据时,虽然空闲内存可能足够,但是可能找不到足够大的整块连续内存而导致扩展失败产生out of memory的异常。另外,对于很多缓 阅读全文
posted @ 2023-10-15 21:03 bsmith 阅读(128) 评论(0) 推荐(0)
摘要: 文件目录加密指的是通过加密方法加密目录名称,但保留目录结构,通过加密的目录保存加密文件,进而保持整个目录的保密性。 由于目录的特别,加密的方法需要满足以下要求: 1,加密后的密文尽可能短,从而能加密较深的目录结构 2,加密后的密文要能保持差异性,即目录名称间较小的差异,能产生较大的密文差异,从而无法 阅读全文
posted @ 2023-10-15 20:45 bsmith 阅读(424) 评论(0) 推荐(0)
摘要: 密码对话框有3种模式: 1,密码验证模式,只有一个文本框 2,密码创建模式,有两个文本框,用于输入两次相同的密码 3,密码修改模式,有三个文本框,第一个用于输入原密码,另外两个用于输入两次新密码 这3种模式可以用一个通用的密码对话框来实现,根据不同的密码模式,显示不同的文本框和标签,3种模式实现如下 阅读全文
posted @ 2023-10-15 10:27 bsmith 阅读(76) 评论(0) 推荐(0)
摘要: 深色模式窗口实现原理是遍历窗口的所有子控件,将子控件的字体颜色和背景色修改为深色模式,代码为: public static void darkSubs(Control ui) { foreach (var obj in ui.Controls) { if (obj is Button btn) da 阅读全文
posted @ 2023-10-15 09:49 bsmith 阅读(363) 评论(0) 推荐(0)