V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  geelaw  ›  全部回复第 13 页 / 共 187 页
回复总数  3726
1 ... 9  10  11  12  13  14  15  16  17  18 ... 187  
技术上正确的说法:不会。因为数字签名不一定伴随抗碰撞散列函数。

实现上准确的说法:Windows 现在使用的数字签名的验证方式的第一步就是计算文件内容(如果是内嵌签名,则删去内置签名部分)的某个散列函数,再继续验证步骤。所以验证签名本身就“验证了散列值”。

如果系统启用了驱动签名校验,且签名后的驱动被修改为不同的文件,且被修改过的驱动没有重新签名,且没有攻破签名方案,那么 Windows 会拒绝加载修改后的那个驱动。
2024-09-09 06:21:24 +08:00
回复了 mikelirjc 创建的主题 iPhone 明晚 iPhone 16 系列就来了,各位 V 友最期待的功能是什么?
@dilidilid #1 无提示通话录音在美国不违法,联邦法律只要求至少一个参与对话的人允许录音,既然机主和其他人打电话,机主自然可以允许自己录音,而不需要提示其他人。

注意:有些州有更严格的规定,比如 Apple 总部所在的加州规定所有参与对话的人都要同意才可以录音。
几乎不可能,现代英语的读音和拼写的关系很混乱,要确定正确读法最好就是查字典。
用函数作用于一个输入,那么输出是固定的,没有任何随机性。如果输入本身是随机的,那么作用函数之后依然是随机的,但熵不会增加,而且非常明显的例子是把具有 1024 bits 熵的输入用楼主提出的两种方式作用,得到的结果熵必然不能超过 256 bits 。

当然,经过函数作用后,“计算熵”可以增加,然而标准模型下很难分析 SHA-512 和 SHA-256 对输入的计算熵产生何种影响。

只考虑抗碰撞的话,多个函数复合的抗碰撞能力当然不超过最里面的那个的。
@HFX3389 #3 这个说法听起来很倒反天罡,因为“券”是正字,要说通假也应该是“卷”通“券”才对。

查阅《汉典》,两者无通假关系。纯粹是打错字。
2024-09-02 10:25:44 +08:00
回复了 itskingname 创建的主题 职场话题 大家身边有没有这样的同事,喜欢把你的话重复一遍?
可能是《大长今》里冒出来的
Account Unknown (S-一大串 = SID) 单纯是那个 SID 没有知名的名字,这在 Windows 8 以来非常正常——因为新 app 模型(所谓 Windows 应用商店应用)里面,每个 app 、每个 app 权限都有自己的 SID ,而且这种 SID 可以分布式生成(通过字符串的 hash ),而 hash 不可逆,只有几个固定的 SID 是“知名”的,所以很多 SID 无法显示“名字”。当然,不显示名字不代表这个 SID 在当前系统里没有被使用。

删除这种 SID 会导致新类型的 app 运行不正常,包括无法启动或启动后立刻崩溃(因为无法正常访问那些文件)。

RESTRICTED 、SYSTEM 等是操作系统级别的 security principal ,理解成虚拟用户即可。

如果当前用户是管理员,那么它可以访问任意文件,设置的安全信息对于管理员来说只能防止意外误操作。最简单的方法是打开需要访问的文件的 properties ,在 security 里面把 owner 改成自己,然后重新打开 properties ,重新打开 security ,给当前用户加上权限,应用或递归应用(文件夹的情况),然后就可以访问了。
这样做对 accessibility 很糟糕,因为原理是把文本转换为 Unicode 里面的数学符号(对于数学来说,是否斜体、粗体、使用了什么字体族,都算完全不同的符号),很多读屏器会一个字母一个字母地念(是审定的正确念法,因为它们的含义就是每个字母)。

更好的做法是使用格式化的功能(例如网页技术的 CSS ),当然对于很多社交网络来说不存在这样的功能,那就没有好方法了。
2024-07-26 07:29:03 +08:00
回复了 dumbass 创建的主题 分享发现 由汉字造词讨论想到
想要编码新的字并不困难,了解一下 Unicode 表意文字描述字符。

𤭢 = ⿰卒瓦
2024-07-26 07:26:49 +08:00
回复了 cnbatch 创建的主题 信息安全 [蓝屏事件后续] CrowdStrike: 赔你$10 咖啡优惠券
我的建议是 CEO 赶紧使用“拒绝做出可能令自己有罪的供述”之权利拒绝听证( doge
如果你是说 annual paid monthly 受害者的情况,实操可能是可以的(效果上 Adobe 没有继续收钱并在月末停止了服务,即使年度合同还没到期),但是支付失败不会消灭合同,理论上 Adobe 可以催收。

简单的做法是和客服谈心。
2024-07-25 07:38:33 +08:00
回复了 Sayuri 创建的主题 职场话题 公司要求我对某些使用美国信用卡支付的费用申请拒付
>公司就让我帮忙用我的美国信用卡来刷。

你没有义务借钱给公司。

>但是我这么做的话,会导致我的 ITIN 掉 credit 。

不一定会,单纯 dispute 只是会导致商户账户被银行取回资金,不会影响信用报告。当然,dispute 并取回资金这一行为并不会消灭商户和客户之间的债务关系,商户可能会把此债委托给催收公司,并把催收信息提交给信报机构,这是可能会影响信用的——我不确定商户会提交到付款卡主人的信报上还是公司的商务信报(当然,这对于你公司可能就是不存在的)上。

>我应该怎么做,才能拒绝公司的这一请求,保住信用分,还能拿到报销款而不用自己承担经济和信用分损失?

你和公司或许从未约定过你有义务配合公司 dispute ,或者你需要为公司提供 dispute 服务,的条款。这个问题到现在可以简单理解为公司要求你代为付款,那么结果当然是公司欠你钱,应该支付。

如果公司不听劝,建议找律师。
2024-07-25 04:01:03 +08:00
回复了 a2233 创建的主题 发音 大家是如何读 CLI 的?
“老外”不止是说英语的……英语读 see-elleye ,法语读 cé-elle-i ,汉语读 cê-êl-yi 。
@hez2010 #9 现象和规范是两码事,单纯做一个实验就认为 Windows 支持超长变量无异于依赖于 C++ undefined behavior 编程。

应该注意 Win32 环境变量有两个存在的形式:在注册表里存储的系统/用户级变量、在每个进程里存储的进程级变量。

考虑下面的每个实验,每个实验开始之前都不存在名字叫做 verylong 的系统、用户、进程级环境变量。

————

实验 1:在 PowerShell 里运行

[System.Environment]::SetEnvironmentVariable('verylong', '1'*40000, 'User')

然后通过 explorer 打开一个新的 PowerShell ,并在新的 PowerShell 里运行

$env:verylong.Length

在 Windows 10 (build 19045.4651) x64 里得到的结果是 4095 ,这说明 explorer.exe 把 %verylong% 截断为 4095 个字符了。

————

实验 2:在 PowerShell 里运行

[System.Environment]::SetEnvironmentVariable('verylong', '1'*40000, 'User')
$cred = Get-Credential
Start-Process powershell -cred $cred -arg '-Command start powershell'

输入当前用户的用户名和密码,然后等待新的 PowerShell 启动(注意这里需要两次跳转,似乎有不知名的 bug 导致单纯打开一次 PowerShell 无法输入),在新的 PowerShell 里面运行

$env:verylong.Length

得到 40000 ,这说明“什么都不做”似乎是可以自动读取超长环境变量,然而……

————

实验 3:在 PowerShell 里运行

[System.Environment]::SetEnvironmentVariable('verylong', '1'*40000) # 默认的范围是进程

会得到

Exception calling "SetEnvironmentVariable" with "2" argument(s): "Environment
variable name or value is too long."

查阅 PowerShell 的源代码,发现这个异常是从 Win32 API SetEnvironmentVariable https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-setenvironmentvariable 来的(而不是 PowerShell 自己检查的),文档明确指出超过 32767 个字符是不支持的,实际调用也会返回 FALSE 并用 GetLastError 指示变量过长。

————

实验 2 、3 表明实际上超过 32767 个字符的环境变量是不支持的,因为用于访问之的 Win32 API 拒绝设置超长变量。至于“什么都不做”的时候可以读到超长环境变量,单纯是 Windows 从注册表读取的时候、通过 GetEnvironmentVariable 返回的时候,忘记验证了。

考虑不变式

LPCTSTR name = T("verylong");
TCHAR value[40001];
DWORD size = 40001;
DWORD actualSize = GetEnvironmentVariable(name, value, size);
BOOL couldSet = SetEnvironmentVariable(name, value);

自然期待单线程环境下 actualSize > 0 && actualSize < size (这表明获取名字是 verylong 的环境变量成功了)蕴涵着 couldSet (这表示可以做无意义且无害的赋值),但这个不变式因为 Windows 的实现很不小心所以不一定成立。

然后,在做了上面的实验之后,我会认为日常使用的时候应该避免变量内容超过 4095 个字符,因为 Windows 最常见的 shell 即 explorer.exe 不支持超长的变量。
@hez2010 #6 我对英语的解读和你的不同,原文

> The maximum size of a user-defined environment variable is 32,767 characters. There is no technical limitation on the size of the environment block. However, there are practical limits depending on the mechanism used to access the block. For example, a batch file cannot set a variable that is longer than the maximum command line length.

说的是

1. 一个环境变量不能超过 32767 个字符。
2. 环境块没有限制。注意每个环境块是多个环境变量赋值的双空结尾字符串,这里说的是可以有任意多个环境变量。
3. 访问环境块的方法会带来其他限制,
4. 比如批处理文件不能设置环境变量的值为超过单行最大字符数长度的字符串。这个数是几千。

待会儿我到电脑附近的时候可以试试。
@hez2010 #3 然而这和文档说的相反,根据

https://learn.microsoft.com/en-us/windows/win32/procthread/environment-variables

环境变量的长度不能超过 32767 个字符。
1 ... 9  10  11  12  13  14  15  16  17  18 ... 187  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2087 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 47ms · UTC 12:48 · PVG 20:48 · LAX 05:48 · JFK 08:48
Developed with CodeLauncher
♥ Do have faith in what you're doing.