拿几年前的弱口令强化 Demo 修改了下,做了个在线版的时间锁,可以让接收者必须经过一定时间才能看见消息。
演示: https://etherdream.github.io/timelock/
(备用地址: https://etherdream.com/timelock.html )
界面有点简陋,未适配移动端~ 有 BUG 或建议可以反馈。
测试 1:
点击“解密”按钮开始解密,单核性能越高,解密越快。建议使用 Chrome 浏览器。
我的电脑上大约 10 秒能解开( MacBookPro M1 ),内容为 “Hello World”。
测试 2:
大约 120 秒能解开,内容为 “支付宝口令红包 ********”。( 100 个,2024-04-02 过期。没 BUG 的话之后发一个只能 1 人领取但解密时间更长的,看谁的 CPU 主频最高)
有什么可以改进或好玩的,可以想象下~
1
CivAx 267 天前
Cool ,领到了第 6 个
|
2
ztmzzz 267 天前 via iPhone
ios chrome 能正常用,花了 3 分钟解密
|
3
xiaoen 267 天前
领到了红包
|
4
tool2d 267 天前
收到大大的红包,感恩 OP !
我上次也写了一个前端大计算量的 JS 代码,结果 chrome 直接失去响应。。 |
5
LeslieLeung 267 天前
领到了第 12 个,好有趣的 demo !这周的周刊又有材料了。
能不能作为一种反制脚本黄牛的抢购限制手段?必须提早打开页面挂着(购买意愿)并且消耗性能(投入成本)。(不过开虚拟机,每个分配一个核就能解决,只是提高了成本) |
6
lzgshsj 267 天前
有点意思
|
7
jurassic2long 267 天前
公司的 i5-6500,耗时 14 分钟。。。领到第 45 个
|
8
ififi 267 天前
领到了第 51 个。谢谢 OP !
|
9
googlefans 267 天前
|
10
alexsz 267 天前
谢谢张真人😁
|
11
R31 267 天前
61 个 感谢
|
12
BluePadge 267 天前
领到了第 63 个。有一个粗浅的想法:靠加密可以做一个“意外死亡在线遗书”,发布者需要定期延后解密时间,一段时间未更新的话,就把内容作为遗书发送到指定邮箱去。
|
13
LXchienne 267 天前
领到了,只是加密时间太长了,想法很不错
|
14
polaris1815 267 天前
妙
|
15
buyerhou 267 天前
perfect
|
16
guqikang 267 天前
领到了,谢谢
|
17
KorenKrita 267 天前
提两个建议
看起来难度是只能为正整数 但是前端页面没限制只能输入正整数 试了几个小数是可以运行的但是会在整数部分结束后就出结果了 对于加密来说应该加密后给出完整的分享链接(最好还能自动复制到剪贴板) 而不是让用户自己拼 要是没有你的这俩测试链接我都不知道怎么拼 |
19
iqoo OP @tool2d 不考虑网页版的话是可以快速加密的,demo 里的论文中有详细讲解。
之前有个新闻 https://www.linkresearcher.com/information/6c3da22d-11fa-45d3-a18c-0c3b28835dd5 也讲解过 |
20
hawken 267 天前
“来晚了,红包已领完” 怎么看时间啊,手动计算吗
|
21
iqoo OP @KorenKrita
复制链接功能已加上 难度值的本质是调用 pbkdf2 函数的次数,无法分割成小数。当然,倒是可以根据小数部分设置每次传入 pbkdf2 中的迭代参数,目前该参数是固定 1e7 ,在我笔记本电脑上大约耗时 1s 。如果要考虑低性能的 CPU ,倒是可以考虑这个方案。 |
22
dbit 266 天前 via iPhone
感觉 iPhone15 一分半就解开了? 尽管没领到红包
|
23
rekulas 266 天前
这个问题我以前也有研究过,因为想做一个区块链上的密码包,目前来说要想真正设置一个时间胶囊只能靠算力限制(挖矿- _ -), 要想快速生成就要降低整个链条的相关性, 但要想防并发破解又要提高相关性(串行解密), 所以找到一个合适的平衡点很重要, 能不能找到一个又快又防爆破的算法,目前来看很难(可能以后量子领域有更好的办法吧), 另外还存在一个问题就是预测遥远未来的算力增长趋势误差太大,容易导致密码被过早(例如帖子中的那样)或过晚解密出来
|