作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
前阵子我试图暴力破解发送 12 位二进制“ key ”的 Remote 。
我制作的设备可以工作,但速度非常慢,因为它以每秒大约 50 位的速度尝试每个组合(4096 个代码 = 49152 位 = ~16 分钟)
我打开接收器,发现它正在使用移位寄存器来检查代码,而且两次尝试之间不需要延迟。这意味着接收器只是查看要接收的最后 12 位,看它们是否与 key 匹配。
这意味着如果流 111111111111000000000000
被发送通过,它就有效地尝试了所有这些代码。
111111111111 111111111110 111111111100 111111111000
111111110000 111111100000 111111000000 111110000000
111100000000 111000000000 110000000000 100000000000
000000000000
在这种情况下,我使用 24 位来尝试 13 种 12 位组合(>90% 压缩)。
有谁知道可以利用这个减少我发送的 49152 位的算法吗?
最佳答案
你说的是 de Bruijn sequence .如果你不关心它是如何工作的,你只想要结果,here it is .
关于algorithm - 我将如何着手实现该算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/496026/
我是一名优秀的程序员,十分优秀!