1、网络剪贴板 :网络剪贴板 - 极简的数据暂存和传送工具
无需注册登录,可任意命名创建你的专属网络存储空间,可存储文本、二进制文件,最长存储期 3年 ,私密使用可加访问密码,任意分享可使用只读链接,非常方便。多说无益,更多用法请参考:关于网络剪贴板 :
2、在线文本数据库:https://www.textdb.online/
看了第一个,你就会想到这个的功能,没错,这就是第一个的文本模块的 API 接口,唯一区别是这个没有密码保护,所以你需要对不想公开的存储数据进行编码加密,这个就可以使用 Base64 算法:从 2009 年青涩的 一个我自己拼凑的Base64编码/解码模块_filelen = lof(binfileno)-CSDN博客 、一个 VBS 写的 Base64 + UUE 编码程序源码,可自定义编码表_vbs 码表-CSDN博客 ,到 2016 年成长的探索 UUENCODE(UUE) 编码简介-CSDN博客 ,再到 2020 年基本完善 VB、VBS、VBA 、ASP 的 UTF-8 base64 实现_vbs utf8 codepage-CSDN博客 ,至 2022 年最终把它独立做成一个工具 Base64 & UUE 文件编码解码工具及使用说明_base64解码工具-CSDN博客 ,最终发现,目前靠谱的二进制数据编码为文本数据并解码的算法只有 Base64 算法,最终应用时,使用你自定义的编码表,且需要用于加密保存和还原的话,还可以用上加密码压缩算法,和最终结果易位等等,这样的话,量子计算机的曾孙子来也也要解码到宇宙灭亡才能破解。所以一般的编码解码只需要用自定义码表加结果易位足矣。由此,根据 Base64 二进制转文本的原理,你应该能想到,这个接口不单能存储文本,还可以把编码为文本的二进制数据也 post 上去,比如图片,取下来之后可以直接显示在 img 的 Src 里面而根本不用再解码!这样,使用思路是不是一下子豁然开朗了?
呃,跑题了,继续说文本数据库,它的存储年限为:在更新操作后1年。而且由于由于没有密码鉴权保护,所以,你只要有 Key 就可以肆意更新这个 Key 的内容,具体接口用法为:
【创建/更新】https://api.textdb.online/update/?key=123456&value=hello-world
【删除】https://api.textdb.online/update/?key=123456&value=
【读取】 https://textdb.online/123456
可见示例的 123456 这个 Key 刚刚被我更新了
因此,这里为了避免 Key 撞车,就需要用到传说中的到宇宙毁灭都不易重复的 GUID 来做 Key 。
这里我以 VBA 为例,其他语言 GUID 的获取应该比 VBS 简单,比如啥都依赖模块的 Python ,因为上面 1 的网络剪贴板同样面临 Key 撞车的问题,所以那里也要用 GUID 来做 Key ,不然任何人都能编辑那个 Key 下的内容,这样的话,Key 还隐藏了一层不弱的加密功能:
自制的 VBA 的 GUID 获取函数,默认获得的包含前后大括号和中间的链接杠,所以我加了个输入参数,可以要或者不要那些多余字符,作为这里用的 Key 是不能要括号和连接杠的:
'--------及简 GUID 创建函数 适用于 VBA、VBS、ASP
Public Function GUID(n)
Dim objTypeLib
Set objTypeLib = CreateObject("Scriptlet.TypeLib")
GUID = CStr(objTypeLib.GUID)
GUID = Mid(GUID, 1, InStr(GUID, "}"))
If n > 0 Then
GUID = Replace(GUID, "-", "")
GUID = Replace(GUID, "{", "")
GUID = Replace(GUID, "}", "")
End If
Set objTypeLib = Nothing
End Function
'--------使用范例
Sub t()
Dim i
i = GUID(0)
i = GUID(1)
End Sub
接口返回信息解读参见它首页,相信它能给你的微小项目提供一个全新的解决思路。
等得闲我把常用的图片写个程序传上去备用。
最后为了便于管理手动操作剪贴板的链接和内容,用 excel 简单记录下获取的每个 GUID
'--- C2 格公式 =COUNTA(A3:A202)
Private Sub CommandButton1_Click()
Dim sNum, maintb
maintb = "main"
sNum = Worksheets(maintb).Cells(2, 3).Value
Worksheets(maintb).Cells(sNum + 3, 1).Value = GUID(1)
End Sub