V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  qrobot  ›  全部回复第 7 页 / 共 19 页
回复总数  374
1 ... 3  4  5  6  7  8  9  10  11  12 ... 19  
2022-10-10 10:52:00 +08:00
回复了 tool2d 创建的主题 编程 创建一个无法被破解的 zip 压缩包
@tool2d

```
只要把 zip 的内部 hash 校验算法改成 MD5 ,就能高枕无忧。
```

据我所知 zip 的加密不应该是 Symmetric-key algorithm 么. 应该不需要 hash 算法才对呀, 而且 md5 的碰撞那么简单, 怎么可能用 md5 进行 hash, 起码都是 sha-256 以上
2022-09-20 13:27:32 +08:00
回复了 tool2d 创建的主题 程序员 UI 那么多年了,为什么没有一个标准能一统天下?
@tool2d 你说的这个和 gtk qt 这种 ui 框架有啥区别,gtk 也可以通过 port 来通过 webgl 投射到浏览器中, 这没有意义。
2022-09-19 16:40:41 +08:00
回复了 tool2d 创建的主题 程序员 UI 那么多年了,为什么没有一个标准能一统天下?
为啥要统一? GTK 和 QT 本身方向就不一样, HTML 是一个规范,目标是 WEB , 场景不一样作出的东西不一样, 我觉得完全没有统一的必要
思路很新奇, 但是反编译 wasm 难吗? 直接 wasm-decompile 反编译, 甚至比 js 的可读性还高
2022-09-15 15:32:17 +08:00
回复了 asanelder 创建的主题 问与答 你理解的应试教育是什么?
@Felldeadbird 97# 我不明白学手艺难道是一个很差的活吗? 我自己是很佩服手艺人的,钟表,镜子,还有宝石, 这些都是手艺人做的。
2022-08-31 10:34:43 +08:00
回复了 tool2d 创建的主题 Windows NTFS 原来那么强,可以把 12G 的文件,变成 140M。
@sampeng 我也说的是真的,4k 的电影本身传输的时候就经过算法压缩了, 例如 MPEG-4 编码等等。 压缩后才只要 2-30G
2022-08-31 10:29:59 +08:00
回复了 tool2d 创建的主题 Windows NTFS 原来那么强,可以把 12G 的文件,变成 140M。
@sampeng #53L 有没有一种可能, 你传输过来的 4k 电影本身就是压缩过才只要 2-30G
2022-08-31 10:24:28 +08:00
回复了 DonaldY 创建的主题 程序员 分享文章: TCP 粘包? TCP 警察什么梗
@skies457 #74L
我从未听过 http 协议中用 \n\n 来最为判断文本已经达到的末端。 根据 http 协议 `content-length` 用来判断数据大小是多少, 即使在早期也是 一次请求,一次响应, 用 tcp connection close 来识别的。 请问你说 的 \n\n 是哪个版本?
2022-08-29 16:18:02 +08:00
回复了 DonaldY 创建的主题 程序员 分享文章: TCP 粘包? TCP 警察什么梗
@ipwx #64

我告诉你粘包是怎么来的


```
Socket socket = new Socket("127.0.0.1", 8000);
OutputStream os = socket.getOutputStream();
os.write("test".getBytes());
os.write("test1".getBytes());
os.write("test3".getBytes());
```

写了三次数据, 然后在调用 read 读取的时候发现写入的数据被一次性读取到了, 所以他 /她认为数据包被粘连在一起了。

“粘包” 无论是否打引号说出这个词就是对 TCP 协议的不理解,想当然的一个词语。 这种本身就应该抵制。"需要自己判断写入的字节什么时候已经达到的末端", 这就很好的解释了这个问题。


@ipwx 我没猜错你对 TCP 协议估计也是一知半解 。你写一次 tun 设备的 三次握手和四次挥手, 你就知道所谓的封包 /拆包 /重传 等等, 都已经做好, 数据已经有序的给你了。 你只要操作 Stream 就可以了。


我在跟你明确一下, 他说的粘包,指的是 代码中 write 两次, 另一端 read 一次的时候就可以读出来。



@ipwx 或则我这么问你, 如果你发现 TCP 有所谓的粘包, 请截图用 wireshark 抓包并且保存截图让我看看, 你能截屏出来, 我给你奖励 1w
2022-08-29 09:36:44 +08:00
回复了 DonaldY 创建的主题 程序员 分享文章: TCP 粘包? TCP 警察什么梗
@nothingistrue #21 你确定你理解的是楼主所说的问题, TCP 帧在应用层是不关心的。 而所谓的 “判断写入的字节什么时候已经达到的末端” 是需要自己解析的

而且你说的 “分帧取帧”,或者“帧解码”。 是指什么? 说的是 解析 RFC 793 里面的 `TCP Header Format` 吗? 很抱歉,在用户使用协议上,没有权限读取对应的 `TCP Header Format` , 要么使用 tun/tap 等虚拟网卡, 要么使用 pcap/winpcap/npcap 或则 win10 的驱动网络拦截。 但是这些 TCP 协议的操作,往往都不是 TCP 使用用户来进行操作的, 楼主很明显是在使用 TCP 协议, 而不是解析 TCP 协议
2022-08-29 09:22:07 +08:00
回复了 DonaldY 创建的主题 程序员 分享文章: TCP 粘包? TCP 警察什么梗
当我看到 TCP 粘包的时候,我很震惊, 后面我开始解释 TCP 没有粘包, 只有 “因为是流协议, 所以需要应用自己去判断写入的字节什么时候已经达到的末端。” 后来我渐渐的麻木......
2022-08-29 09:14:21 +08:00
回复了 DonaldY 创建的主题 程序员 分享文章: TCP 粘包? TCP 警察什么梗
TCP 粘包是啥? 自己创造一个名词出来? TCP 从来没有粘包一说, 看你的文章你也是对 TCP 一知半解。 麻烦赶紧删了,免得误人子弟。

我先跟你说,很明确的来说 TCP 没有粘包这一个说法,根本就不存在。


我看你用 Java 写的代码, 那么我就用 Java 代码给你举个例子

```
Socket socket = new Socket("127.0.0.1", 8000);
OutputStream os = socket.getOutputStream();
os.write("test".getBytes());
```

实际上会发生什么?

如果网络延迟,或则发生丢包,那么会超时重传. 然后网络线路没问题, 那么会直接写入系统的 TCP/IP buffer 里面去。

如下


```
Socket socket = new Socket("127.0.0.1", 8000);
OutputStream os = socket.getOutputStream();
os.write("test".getBytes());
os.write("test1".getBytes());
os.write("test3".getBytes());
```

那么我写入三次表示什么? 很显然根据我上面说的,系统为了性能会缓存对应的 TCP/IP 的数据信息, 那么我可以采用一个很大 buffer 来进行一次性将这两次的请求给直接读取过来。


根据这个理解那么就可以把 TCP 看作流, 通过流来进行运输货物,很显然明显的是 TCP 就是流协议。 流协议何谈封包和拆包?


那如何解决判断 TCP 中这次请求的信息已经是末端了?

很常见的两种方案


1. 一次请求一次响应, 后续关掉 socks
2. 用 4 字节定义一个无符号的整数来定义这个报文的 Length 就好了


所谓的 `特殊分隔符`简直是最愚蠢的做法, 难道我的报文中就不能出现对应的特殊符号吗? `固定消息长度` 简直是浪费内存和网络开销。完全不可取。


因为是流协议, 所以需要应用自己去判断写入的字节什么时候已经达到的末端。
@whywaoxaks #6L

小红有 3 支笔, 小强有 5 块橡皮, 橡皮一般用在铅笔上, 所以小红拿的 3 支笔应该是铅笔。 那么铅笔一般用在什么? 小学课本上或者是素描上。 如果是素描,那么名字不会叫小红, 所以排除素描美术,那么剩下的就只有一种可能,那就是小学课本上, 那么上小学年纪是多少? 年满 6 周岁以上 12 岁左右。3 支笔表和 5 块橡皮,表示作业很多,考试很多,那么肯定就排除 1,2,3,4,5 年级。 也就是说小红和小强的是 6 年级 12 岁左右。 那么小明也应该是 12 岁左右。 所以小明是 12 岁
2022-08-17 16:45:38 +08:00
回复了 iloveMonica 创建的主题 程序员 昨天发了一个抢号的帖子,很多人说不公平
@DeutschXP #78 楼 这本来就是 `特色社|会主|义` 好的公共资源作用户_口, 还有房子等等来让有钱人插队利用公共资源,而那些穷人,则给他们一个看似可以努力就能上好的学校,过上有钱的日子, 实际上他们永远不可能越过这个阶_级。 否则你猜猜为什么要有墙的存在
1 ... 3  4  5  6  7  8  9  10  11  12 ... 19  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2877 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 29ms · UTC 09:33 · PVG 17:33 · LAX 02:33 · JFK 05:33
Developed with CodeLauncher
♥ Do have faith in what you're doing.