PB的一些记录
断点设置在函数内,发现返回值没有,需要取消函数内断点才正常
加密--采用矩阵乘法
行列式取+_1的矩阵与逆矩阵其元素都是整数,, 可以使用matlab来找到这些矩阵
A* I =E A^-1 * E=I A与A^-1 加密矩阵与其逆矩阵, I是待加密矩阵, E是加密后的矩阵

long ENMatrix[16]={ 0, 1, 21, 1,2, 1, 3, 3,4, 0, 4, 1, 3, 0, 3, 1} long DEMatrix[16]={-1, 1, 5, -17,-1, 2, 12, -18, 1, -1, -4, 6, 0, 0, -3, 4} int MixArr[16]={1,3,2,6, 15,7,4,8,4, 10,6,3,4, ,6,7,8,5 } int i=1 int j =0 int s2 string s1 string ret="" string tmp="" string arr[16] j=len(vstr) if j <>16 then messagebox('错误','只接受16位字符') return "" end if //只接受16位密码 long srcMatrix[16] long tagMatrix[16] for i = 1 to j s1= mid(vstr,i,1) srcMatrix[i] = asc(s1) next int row int col for row=1 to 4 for col=1 to 4 tagMatrix[(row -1) * 4 + col]=& ENMatrix[(row -1)*4 +1] * srcMatrix[col -1 +1] & + ENMatrix[(row -1)*4 +2] * srcMatrix[col -1 +5] & + ENMatrix[(row -1)*4 +3] * srcMatrix[col -1 +9] & + ENMatrix[(row -1)*4 +4] * srcMatrix[col -1 +13] next next for i=1 to 16 tmp=string(tagMatrix[i]) arr[i]=right("000" +tmp ,4) next for i=1 to 16 tmp=arr[1] arr[1]=arr[MixArr[i]] arr[MixArr[i]]=tmp next for i=1 to 16 ret =ret+arr[i] next return ret
解密

long ENMatrix[16]={ 0, 11, 2, 1,0, 1, 0, 3,14, 0, 4, 1, 3, 0, 3, 1} long DEMatrix[16]={-8, 1, 15, -17,-1, 2, 11, -15, 1, -1, -4, 6, 0, 0, -3, 4} int MixArr[16]={6,41,8, 15,2,4,14, 12,6,3,4, 13,7,8,5 } int i=1 int j =0 int s2 string s1 int arr[16] string tmp int tmpInt string ret j=len(vstr) if j <>16*4 then messagebox('错误','只接受16位字符') return "" end if //只接受16位密码 for i=1 to 16 arr[i]= integer(mid(vstr,(i -1)*4 +1,4)) next for i=1 to 16 tmpInt=arr[MixArr[16 -i+1]] arr[MixArr[16 -i+1]]=arr[1] arr[1]=tmpInt next long tagMatrix[16] int row int col for row=1 to 4 for col=1 to 4 tagMatrix[(row -1) * 4 + col]=& DEMatrix[(row -1)*4 +1] * arr[col -1 +1] & + DEMatrix[(row -1)*4 +2] * arr[col -1 +5] & + DEMatrix[(row -1)*4 +3] * arr[col -1 +9] & + DEMatrix[(row -1)*4 +4] * arr[col -1 +13] next next for i=1 to 16 ret=ret + char(tagMatrix[i]) next return ret
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述
2016-02-24 arduino IO口