- 博客(44)
- 资源 (5)
- 收藏
- 关注
原创 go语言gui窗口应用之fyne框架-动态添加、删除一行控件(逐行注释)
【代码】go语言gui窗口应用之fyne框架-动态添加、删除一行控件(逐行注释)
2025-01-22 14:28:21
433
原创 go语言gui窗口应用之fyne框架-自定义容器实现自定义布局,更灵活的显示控件
通过上述,可以看出,要实现自定义容器,关键是自定义布局,在 fyne 中,自定义布局,只要实现fyne包下Layout接口即可,以下为Layout// 布局接口// 通过遍历[]CanvasObject,获取每个控件,设置每个控件大小和位置// 设置容器总大小(宽,高)注意:自定义容器中控件宽、高,可能受自定义容器的外部容器影响,修改控件宽、高时,可能没有效果,需要对外部容器也要做相应操作。可以通过查看fyne中container源码定义的布局,扩充自定义布局功能。
2025-01-16 16:54:35
454
原创 go语言并发读写数据队列,不停写的同时,一次最多读取指定量数据(逐行注释)
【代码】go语言并发读写数据队列,不停写的同时,一次最多读取指定量数据(逐行注释)
2024-12-15 21:08:42
284
原创 2024年最新 golang语言windows下 protobuf3 安装使用(避免采坑)
下载网址:https://github.com/protocolbuffers/protobuf/releases。Any 可以表示不在 .proto 中定义任意的内置类型。
2024-03-25 08:56:31
1125
原创 电脑windows系统同时打开多个微信方法,微信双开,微信多开
1、首先查看微信安装位置。右键点击微信图标,点击属性,查看快捷方式中的起始位置,如下图,我的位置为**"C:\Program Files (x86)\Tencent\WeChat"**1)打开命令行,不是微信所在盘,先切换下盘(微信在哪个盘就切换至哪个盘)c:2)命令行切换至微信目录(路径尽量复制,免得空格字符不对)cd C:\Program Files (x86)\Tencent\WeChat3)命令行打开2个微信start wechat&&wechat4)命
2023-03-15 10:50:21
1651
原创 windows10下wsl2、Ubuntu20.04、中文设置、Rust、vscode、chrome谷歌浏览器安装配置总结
windows10下wsl2、Ubuntu20.04、Rust、vscode安装配置
2023-02-04 20:56:03
2855
原创 go语言RSA加密算法(三):数字签名、验证
加密与签名的区别:加密:公钥加密,私钥解密签名:私钥签名,公钥验证数字签名过程:原文的哈希值用自己私钥签名,原文+签名给对方,对方用公钥验证签名时与原文哈希比对。加密并签名:原文用对方公钥加密,原文的哈希值用自己的私钥签名,密文+签名给对方,对方公钥验证签名和自己私钥解密原文的哈希值比对。
2022-12-30 09:29:44
985
原创 go语言RSA加密算法(二):加密解密过程
原文用对方公钥加密,密文给对方,对方私钥解密。1、读取公钥文件,解析出公钥对象。1、读取私钥文件,解析出公钥对象。2、使用公钥对明文进行加密。2、使用私钥对密文进行解密。加密:公钥加密,私钥解密。
2022-12-28 10:18:49
1301
原创 go语言RSA加密算法(一):生成密钥对
go语言生成密钥对,分别存储到公钥文件(./files/public.pem),私钥文件中(./files/private.pem)
2022-12-28 09:53:30
1296
原创 go语言各种hash哈希算法使用汇总(超详细代码)
消息摘要,包括MD4、MD5(128位)、SHA-1、ripeMD160、SHA-224、SHA-256、SHA-384、SHA-512、SHA-3(Keccak算法,512、384、256、224)一个优秀hash算法正向快速逆向困难输入敏感抗冲突(抗碰撞)用户密码加Salt(盐)后哈希保存,增加破解难度例:密码:“123”,哈希前修改为:"123aabbcc"等。
2022-12-18 10:12:41
7128
原创 go语言目录下存在相同文件名时,重命名文件名
func NewName(dirname, name string) string { nameA := dirname + name // 绝对路径 + 文件名 iii := 1 for { // 文件名存在时,改名存储 if !IsFileExist(nameA) { // 文件名不存在,直接返回,请查看判断文件存在的另一个博客主题。 return nameA } else { // 文件名存在,重命名.
2022-12-17 16:13:25
618
翻译 golang 1.19 错误“exec:“XXX“:cannot run executable found relative to current directory”
golang 1.19 错误“exec:"XXX":cannot run executable found relative to current directory”
2022-11-10 15:45:52
8188
原创 ubuntu20.04.4安装golang语言
1、官网下载安装包Go下载 - Go语言中文网 - Golang中文社区提供 Go 语言全部版本的安装包下载,各个平台以及源码都可以在这里下到https://studygolang.com/dl2、将下载下来的安装包解压到/usr/local下tar xf go1.18.linux-amd64.tar.gz -C /usr/local3、添加环境变量通过将Go目录的位置添加到$PATH环境变量中,系统将知道在何处可以找到Go可执行二进制文件。可以通过将以下行添加到/etc/prof..
2022-04-03 15:09:49
3573
原创 go语言获取文件哈希值
func gethash(path string) (hash string) { file, _ := os.Open(path) h_ob := sha256.New() _, err := io.Copy(h_ob, file) if err == nil { hash := h_ob.Sum(nil) hashvalue := hex.EncodeToString(hash) return hashvalue } else { return "哈希错误" }}..
2022-03-23 16:52:22
1751
原创 go语言遍历文件夹下所有文件绝对路径
func WalkDir(dir string) { filepath.Walk(dir, func(fname string, fi os.FileInfo, err error) error { if !fi.IsDir() { fmt.Println(fname) } return nil })}
2022-03-23 16:44:17
985
原创 go语言判断文件是否存在
func IsFileExist(path string) bool { fileInfo, err := os.Stat(path) if err != nil { //文件不存在 return false } if fileInfo.IsDir() { //是目录 return false } return true}
2022-03-23 16:39:31
883
原创 golang使用SQLite数据库对指定扩展名文件进行批量加密(七、完整代码)
package mainimport ( "bufio" "crypto/sha256" "database/sql" "encoding/hex" "fmt" "io" "io/ioutil" "os" "strings" "sync" "time" _ "github.com/mattn/go-sqlite3")// 加密字符串func GetNegation(strb []byte) []byte { var strsN []byte for i, b :=.
2022-02-15 11:20:33
1116
原创 go语言重大bug,make缓存读取数据漏洞,4096漏洞
做一个小程序,需要对文件内容分片读取,但是读取过程中发现数据读取不全,经测试多个make缓存读取文件时发现问题。一、生成测试文件(AAA.txt)// 创建一个AAA.txt文件,写入1万个AwFile, _ := os.OpenFile("AAA.txt", os.O_WRONLY|os.O_CREATE, 0666)defer wFile.Close()for i := 0; i < 10000; i++ { wFile.WriteString("A")}二、多缓存读
2022-02-09 15:36:36
1527
4
原创 golang使用SQLite数据库对指定扩展名文件进行批量加密(六、获取目录下指定扩展名文件)
package mainimport ( "fmt" "io/ioutil" "strings")// 传入扩展名列表,返回指定扩展名的文件名列表func GetFileNames(expNameList []string) []string { var fileNameList []string // 文件名列表 files, err := ioutil.ReadDir("./") // 读取目录下所有文件 i.
2022-01-20 11:25:22
328
原创 golang使用SQLite数据库对指定扩展名文件进行批量加密(五、大文件读写,复制功能)
ackage mainimport ( "bufio" "fmt" "io" "os")func main() { file1, err1 := os.Open("xxxxxx.mp4") // 只读方式打开文件 if err1 != nil { // 文件打开错误 fmt.Println("打开原文件错误!") } // os.O_WRONLY,写模式;os.O_CREATE,文件不存在时.
2022-01-20 09:53:17
521
原创 golang使用SQLite数据库对指定扩展名文件进行批量加密(四、大文件读取)
使用缓存读取大文件,详见代码。package mainimport ( "bufio" "fmt" "io" "os")func main() { file, err := os.Open("XXXXX.mp4") // 只读方式打开文件 if err != nil { // 文件打开错误 fmt.Println("打开文件错误!") } defer file.Close() // 延迟关闭文件 read := buf
2022-01-20 09:23:55
727
原创 golang使用SQLite数据库对指定扩展名文件进行批量加密(三、简单加密过程实现)
一、加密、解密代码:// 传入一个字节数组,加密后返回字节数组func GetNegation(strb []byte) []byte { var strsN []byte for _, b := range strb { // 循环遍历字节数组 // 将每个字节取反后加77,实现加密,再拼接为字节数组 strsN = append(strsN, ^b+77) } return strsN //返回加密后的字节数组}二、字符串加密测试: // 加密过程 str :=
2022-01-20 08:35:26
1092
原创 golang使用SQLite数据库对指定扩展名文件进行批量加密(二、加密过程概述)
一、批量读取指定扩展名的文件,如jpg、mp4,可以同时设置多个。遍历当前文件夹下所有文件,找出jpg、mp4的文件。(也可以设置为排除的文件扩展名。)二、以二进制方式读取文件内容。三、编写简单加密函数,用于加密。本次使用的是二进制取反后加77个字节。这样所有数据将改变。解密时用同一个函数即可。过程如下:二级制数据------------> 取反--------------->+77(二进制为01001101)加密:00110011 ------> 取反后11001100
2022-01-13 23:34:22
740
原创 golang使用SQLite数据库对指定扩展名文件进行批量加密(一、原理篇)
序言:目前网上的文件加密软件,大多都是付费、注册类,于是打算自己用go语言手写一个,自用的文件加密小程序。思路:图片、视频等文件都是二进制存储的数据,我们用文本编辑器打开删除部分信息后,就导致文件损坏无法打开。因此,我们可以用go语言二进制读取需要加密的文件,将文件前n个字节存储到SQLite中,将剩余的字节再存到文件中,并删除源文件,因文件部分数据缺失,就会导致无法打开。为了进一步保证安全:1、前n字节存储到SQLite数据库的时候进行下简单加密操作,比如全部按位取反后转为字符串保存。2、
2022-01-13 21:41:45
825
原创 解决windows10 x64位系统下连接mysql数据库驱动错误,找不到驱动(采坑解决)go语言
解决windows10 x64位系统下连接mysql数据库驱动错误,找不到驱动(采坑解决)go语言
2021-11-26 23:25:25
1589
1
原创 golang文件夹内文件复制、增量备份(目标下没有同名文件名时进行备份,同文件名时不操作,不判断内容更改)(用于增量备份相片)
golang文件夹内文件复制、增量备份(目标下没有同名文件名时进行备份,同文件名时不操作,不判断内容更改)(用于增量备份相片)
2021-11-26 20:31:38
759
原创 Python3 多任务之---异步
异步from multiprocessing import Poolimport timeimport osdef test(): print('---进程池中的进程---pid=%d,ppid=%d--'%(os.getpid(),os.getppid())) for i in range(3): print('----%d----'%i) ...
2018-11-30 15:43:48
777
原创 Python3 多任务之---进程
进程(fork)(类Unix)import osimport timeret = os.fork() #创建子进程if ret==0: #子进程等于1 print('----1----') time.sleep(1)else: #父进程大于1 print('----2----') time.sleep(1)...
2018-11-30 15:42:22
446
原创 Python3 多任务之---线程
多线程 threading 模块方式一import threading #或from threading import Threadimport timedef test(): print('线程输出……') time.sleep(1)if __name__ == '__main__': for i in range(5): t = thre...
2018-11-30 15:22:55
326
转载 csdn 自带 markdown教程
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2018-11-30 15:20:17
1363
原创 Python3 爬虫学习笔记(四)url转码
import urllib wb = {"wd":"转码"} url = urllib.parse.urlencode(wb) #转码urllib.parse.unquote(url) #反转码
2018-11-28 15:46:21
703
100以内(12-99)加减法练习(带竖式)手动无限刷新一次打印1张A4
2023-05-29
随机生成100以内两位数加法、两位数减法练习题,可直接打印两张A4纸(双击空白无限刷新)
2023-05-25
go-sql-driver.zip
2021-11-26
斐波纳契时钟
2015-11-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人