V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  geelaw  ›  全部回复第 56 页 / 共 177 页
回复总数  3531
1 ... 52  53  54  55  56  57  58  59  60  61 ... 177  
2019-09-21 07:34:02 +08:00
回复了 noming 创建的主题 问与答 菜鸟请教正则表达式问题
呃,上面那个似乎有错误,正确的结果应该是:

start((e(ne|e)*(ns|s)|s)(t(a(r(e(ne|e)*(ns|s)|s)|e(ne|e)*(ns|s)|s)|e(ne|e)*(ns|s)|s)|e(ne|e)*(ns|s)|s)*(t(a(r(e(ne|e)*(n[^sed]|[^sen])|[^set])|e(ne|e)*(n[^sed]|[^sen])|[^ser])|e(ne|e)*(n[^sed]|[^sen])|[^sea])|e(ne|e)*(n[^sed]|[^sen])|[^set])|e(ne|e)*(n[^sed]|[^sen])|[^se])*((e(ne|e)*(ns|s)|s)(t(a(r(e(ne|e)*(ns|s)|s)|e(ne|e)*(ns|s)|s)|e(ne|e)*(ns|s)|s)|e(ne|e)*(ns|s)|s)*(t(a(re(ne|e)*nd|e(ne|e)*nd)|e(ne|e)*nd)|e(ne|e)*nd)|e(ne|e)*nd)
2019-09-21 07:30:27 +08:00
回复了 noming 创建的主题 问与答 菜鸟请教正则表达式问题
用理论帮助思考,考虑一个 NFA,它的状态是
x/s/st/sta/star/start/starts/startst/startsta/startstar/startstart/starte/starten/startend
你希望这个机器接受 start 开头 end 结尾且中间没有 start 或者 end 的字符串,初始状态是 x。

用 q+r = q' 表示 q 之后看到 r 就进入 q',只有 startend 是接受状态

读入最开始的 start:
x+s = s
s+t = st
st+a = sta
sta+r = star
star+t = start

中间可能出现 start:
start/starts/startst/startsta/startstar/starte/starten+s = starts
starts+t = startst
startst+a = startsta
startsta+r = startstar
startstar+t = startstart

中间可能出现 end:
start/starts/startst/startsta/startstar/starte/starten+e = starte
starte+n=starten
starten+d=startend

任何其他字符:
start+[^se] = start
starts+[^set] = start
startst+[^sea] = start
startsta+[^ser] = start
startstar+[^set] = start
starte+[^sen] = start
starten+[^sed] = start

通过 NFA 转换为正则表达式的算法得出一个写法是这样的

start((e(ne|e)*(ns|s)|s)(t(a(r(t(e(ne|e)*(ns|s)|s)|e(ne|e)*(ns|s)|s)|e(ne|e)*(ns|s)|s)|e(ne|e)*(ns|s)|s)|e(ne|e)*(ns|s)|s)*(t(a(r(te(ne|e)*(n[^sed]|[^sen])|e(ne|e)*(n[^sed]|[^sen])|[^set])|e(ne|e)*(n[^sed]|[^sen])|[^ser])|e(ne|e)*(n[^sed]|[^sen])|[^sea])|e(ne|e)*(n[^sed]|[^sen])|[^set])|e(ne|e)*(n[^sed]|[^sen])|[^se])*((e(ne|e)*(ns|s)|s)(t(a(r(t(e(ne|e)*(ns|s)|s)|e(ne|e)*(ns|s)|s)|e(ne|e)*(ns|s)|s)|e(ne|e)*(ns|s)|s)|e(ne|e)*(ns|s)|s)*(t(a(r(te(ne|e)*nd|e(ne|e)*nd)|e(ne|e)*nd)|e(ne|e)*nd)|e(ne|e)*nd)|e(ne|e)*nd)((.(e(ne|e)*(ns|s)|s)(t(a(r(t(e(ne|e)*(ns|s)|s)|e(ne|e)*(ns|s)|s)|e(ne|e)*(ns|s)|s)|e(ne|e)*(ns|s)|s)|e(ne|e)*(ns|s)|s)*(t(a(r(te(ne|e)*(n[^sed]|[^sen])|e(ne|e)*(n[^sed]|[^sen])|[^set])|e(ne|e)*(n[^sed]|[^sen])|[^ser])|e(ne|e)*(n[^sed]|[^sen])|[^sea])|e(ne|e)*(n[^sed]|[^sen])|[^set])|.e(ne|e)*(n[^sed]|[^sen]))((e(ne|e)*(ns|s)|s)(t(a(r(t(e(ne|e)*(ns|s)|s)|e(ne|e)*(ns|s)|s)|e(ne|e)*(ns|s)|s)|e(ne|e)*(ns|s)|s)|e(ne|e)*(ns|s)|s)*(t(a(r(te(ne|e)*(n[^sed]|[^sen])|e(ne|e)*(n[^sed]|[^sen])|[^set])|e(ne|e)*(n[^sed]|[^sen])|[^ser])|e(ne|e)*(n[^sed]|[^sen])|[^sea])|e(ne|e)*(n[^sed]|[^sen])|[^set])|e(ne|e)*(n[^sed]|[^sen])|[^se])*((e(ne|e)*(ns|s)|s)(t(a(r(t(e(ne|e)*(ns|s)|s)|e(ne|e)*(ns|s)|s)|e(ne|e)*(ns|s)|s)|e(ne|e)*(ns|s)|s)|e(ne|e)*(ns|s)|s)*(t(a(r(te(ne|e)*nd|e(ne|e)*nd)|e(ne|e)*nd)|e(ne|e)*nd)|e(ne|e)*nd)|e(ne|e)*nd)|.(e(ne|e)*(ns|s)|s)(t(a(r(t(e(ne|e)*(ns|s)|s)|e(ne|e)*(ns|s)|s)|e(ne|e)*(ns|s)|s)|e(ne|e)*(ns|s)|s)|e(ne|e)*(ns|s)|s)*(t(a(r(te(ne|e)*nd|e(ne|e)*nd)|e(ne|e)*nd)|e(ne|e)*nd)|e(ne|e)*nd)|.e(ne|e)*nd)*
2019-09-19 23:02:05 +08:00
回复了 sunkezheng 创建的主题 问与答 hexo 两台电脑之间数据迁移(同步)🤔
因为增加文件同步功能不符合去耦合原则。
2019-09-18 16:19:25 +08:00
回复了 Samuel021 创建的主题 问与答 人为什么要工作呢?
第一个原因是资本主义的原因,第二个原因是共产主义的原因。
@Raymon111111 #4 楼主的错误还没发展到这么高级的阶段,他的错误在于选择一个非主流的 **算法**,而不是选择一个非主流的 **实现**。

@claymore94 #27 评论是否安全不需要知道怎么做才安全。

此外,证明一个东西不安全是一件非常容易的事情。
具体到楼主的方案,你可以参考任何一个本科生密码学课程的前两节课的内容。
一个简单的提示是这样的:QQ 号码是多位数字,因此可以把位移量缩小到一个非常小的范围内,接下来再结合其他用户名的有意义性就差不多可以算出位移量,因此可以从楼主的密文中还原出所有的密码。
这是一个惟密文攻击下不安全的方案——现代安全工具通常使用的是选择密文攻击下安全的方案。

@claymore94 #48 加密算法的安全性不应当依赖于明文(这里就是你需要加密的密码)的随机性,任何选择明文攻击下安全的加密方案,加密 1111111111111 和 s$Kf5%i&e?gfu 之后都是无法辨别的。
至于密码本身是弱密码容易被攻破,那并不是通过你的密码管理器攻破的,和你的密码管理器没有关系。

@claymore94 #63 我没有用过任何密码管理器,但我相信几乎所有的密码管理器的算法都是公开的,云端存储并不会包括密钥,加上加密算法的安全性,可以相信厂商并没有解密的能力。

@libook #64 并不需要是密码学博士,需要的是密码学知识,以及能够在久经考验的假设下形式化证明安全性。

最后回复附言:
> 我自己用吧,用自己的作品还是很开心的。

我在 1 楼的建议也适用于楼主本人。或许用自己写的密码管理器很开心,但是这个密码管理器非常不安全。当然本身的不安全性也不是什么巨大的实际威胁,只要你愿意相信 Tencent 不会偷看你的内容;真正的威胁是虚假的安全感。
@geelaw *离安全差十万八千里
我强烈建议任何觉得自己的账户应该保密的人不要用这个软件。

这个加密方法里安全差十万八千里。
2019-09-14 00:36:04 +08:00
回复了 Mrzhs 创建的主题 问与答 向国外账户汇款,如何将汇款手续费降到最低?
@alphatoad #4 贵的是 130 块钱的额外费用,类似于花了 5 块钱买的东西运费要 10 块钱的运费。
2019-09-07 08:05:42 +08:00
回复了 fenghuang 创建的主题 程序员 问大家一个面试题
这是一个非常简单的 DPDA,用一个带有左右孩子和亲代节点指针的结构,从一个单独的根开始。
遇到数字:设置当前节点的值。
遇到左括号:建立并进入左子树。
遇到逗点:回到亲代,如果左子树没有值则删除之,建立并进入右子树。
遇到右括号:回到亲代,如果右子树没有值则删除之。
2019-09-06 18:00:07 +08:00
回复了 Track13 创建的主题 问与答 你们的中学计算机课有教东西吗?
@geelaw #44 似乎叫“世纪杯”,不知道是海淀区还是有更大范围的。
2019-09-06 17:58:13 +08:00
回复了 Track13 创建的主题 问与答 你们的中学计算机课有教东西吗?
小学课程教 Windows 操作、打字、Office 简单操作以及互联网的使用,课外班可以选择学习 Flash、Dreamweaver、Photoshop 等。课外活动有 Intel 求知计划(似乎是 Excel 和 PowerPoint 的应用)以及 21 世纪小学生计算机知识竞赛(似乎是 Office 的使用和打字为主)。

初中似乎教的是 Photoshop 或者 VB6,但我免修所以不太清楚。

高中教的是 C++ (入门编程而不是入门 C++)。我记得高中有考试但是很简单。

2002 年上小学的版本了。
2019-09-06 17:52:37 +08:00
回复了 jinde1573 创建的主题 Apple 问下大家, iOS 自带邮件应用不能推送吗
@luojianxhlxt #12 移动平台秒推是因为有服务器帮你看了邮件推送过来的,Windows 桌面版的 Outlook 是通过 IMAP/POP 或者是 Exchange、Exchange ActiveSync 收取邮件的,后两者有推送,但是是通知客户端新的邮件,而不是类似 APNs、WNS 的发送一个可以显示的通知,Outlook 桌面版收到推送后必须把邮件下载下来才会弹出 toast notification。
自己处理复制就行了。
2019-09-05 20:07:27 +08:00
回复了 Buges 创建的主题 Visual Studio Code 微软 VS Code“半开源”的操作属实不地道
这也不新鲜,想要一个可以自己用的可以自己写。

另外,感觉有必要提醒一下:直接下载 VSCode 的安装器 和 从源代码构建 的 VSCode 不止是遥测数据收集行为不同,许可证也是不同的。
直到 Edge 支持 MSHTML 那堆 COM 接口之前,微软不可能放弃 IE。
2019-09-03 11:01:49 +08:00
回复了 2pen 创建的主题 职场话题 穿上工装,悲惨的开始
我一直以为“工装”是指体力劳动类有一定劳保作用的服装(或者该风格的)……我会管这种叫“工作服”。
2019-09-02 19:46:45 +08:00
回复了 secsilm 创建的主题 程序员 20+10%=?
https://devblogs.microsoft.com/oldnewthing/20080110-00/?p=23853

通常的用法是 A +/- B % = A(1 +/- B/100)

一个可能的实现是:输入数字后按 %,等价于弹出 a、b,并压入 b、ab/100。
2019-09-02 14:17:37 +08:00
回复了 xiaotuzi 创建的主题 程序员 关于源码保密性及仿篡改方案的思考
@xiaotuzi #9 因为你想要“防止篡改”,我假设的是这种防止是技术上而不是法律上的,因为如果你相信大家会遵守协议,那么根本没必要问这个问题。

@xiaotuzi #32 如果你想要达到“可以检查出标记”,那么你可以用 software watermarking 的技术。

@stoneabc #20 密码学里的 IND-based security 自“古”以来(“古”基本上是“基于计算复杂性理论的密码学的开始”)就是这样定义的。而且 iO 比 DP 的定义至少早 5 年。

@xiaotuzi #11 我觉得你没有搞清楚你想要解决的问题,目前出现的几个词:篡改、授权、保密。这是三个(至少表面上)不同的问题,你需要弄清楚对于每个问题你想要达到的目标,然后再考虑每个目标是否可以达到、如何达到。
2019-09-02 01:55:28 +08:00
回复了 lizy001 创建的主题 问与答 win10 无法关机。因为无法结束程序?
选择 Restart anyway 有什么反应呢?
2019-09-02 01:54:12 +08:00
回复了 xiaotuzi 创建的主题 程序员 关于源码保密性及仿篡改方案的思考
第一个问题是:什么叫做代码“不可篡改”?

我暂时没有一个直观且有意义的定义。

关于代码“保密”,自然就是说程序混淆了。

一个自然的想法是 virtual black-box obfuscation,意思是说:看到经过混淆之后的(机器)代码等同于对原来的代码具有黑箱访问。但已经证明该形式的混淆对一般程序不可行,而且目前已知的该类混淆都是很弱的程序类。

另一个目前学界正在研究的问题是如何构建 indistinguishability obfuscation (iO),意思是说:有两段等价、等长度的代码,其中一个被混淆了,看到混淆的代码后无法有效推断是哪段代码被混淆了。
稍微夸张地说,目前已知的、对一般程序的 iO 通常需要 几年 才能执行原来程序的 一个 CPU 周期,并且人们对构建 iO 的底层原材料掌握还不是很好。
1 ... 52  53  54  55  56  57  58  59  60  61 ... 177  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1279 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 50ms · UTC 17:41 · PVG 01:41 · LAX 09:41 · JFK 12:41
Developed with CodeLauncher
♥ Do have faith in what you're doing.