V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  libook  ›  全部回复第 179 页 / 共 251 页
回复总数  5019
1 ... 175  176  177  178  179  180  181  182  183  184 ... 251  
主流的加密算法强度已经足够好了,没有被发现漏洞所以只能暴力破解,而暴力破解基本上就是搞一个常用密码的字典,然后一个个试,都不行的话就任意组合字符尝试,你只要确保你的密码不包含任何常见字符串且位数足够长就行了。

安全上有个说法是打破物理隔离没法谈安全,如果你读取文件的设备上已经被装了各种监视程序来打探你读取文件的细节,那么基于计算机软件的任何安全措施都没有用,最底线就是要做到物理隔离,确保最终使用的设备环境是安全的。

然后这个问题可能是个 XY problem,为什么不用解压缩密码,为什么格式必须是 tar.gz ,以及使用场景的细节是怎样的;这些说详细了大家可能可以提供更好的方案。
@ReputationZh 我把你回复我的信息拆分成两个独立的需求:
1. 不让其他人看到文件内容:压缩包的加密功能就可以用,不想用压缩包的加密可以自己用 OpenSSL 给文件加密,具体教程可以去网上搜。算法的选择看你要多么强的安全等级,以及能接受多么复杂的使用过程和多么长的加解密时间,这个也可以去搜各种加密算法的对比。
2. 不让人篡改文件的内容(或者知道文件有没有被篡改过):可以用哈希或基于非对称加密的签名算法,哈希简单来讲就是算个 SHA1 、SHA2 、SM3 等,如果文件被篡改,这个值是会发生变化的;用哪一种取决于你需要多强的安全等级,同样,安全的等级越强,计算需要的时间越长。签名算法也可以使用 OpenSSL 来实现,具体可以去搜一下教程。

如果你两个都需要,可以两个都做
如果目的只是为了防范传输过程中被监听,那么 TLS/SSL 就是专门为这个场景服务的,比如用 HTTPS 、SSH 或者 FTP over TLS 。

如果连对方接受端都不信任,那么就可以把文件加密然后让接收方自行选择实际解密,这块目前被认为是安全的算法都可以用,对称加密、非对称加密,这些可以去网上看看相关介绍,决定用哪种算法就可以考虑用 OpenSSL 等工具来做文件的加解密。
2021-03-01 17:10:15 +08:00
回复了 turtlekey 创建的主题 程序员 不想上班了,只想学习编程,编程太 TM 有趣了。
如果这种情况影响了正常生活,建议去看一看心理医生,去看医生并不意味着一定得了什么病,但至少能让你更清晰地了解自己现在的状态如何。

另外可以想想有没有可能把兴趣和工作结合起来,比如做培训师。
2021-03-01 17:05:00 +08:00
回复了 Kasumi20 创建的主题 程序员 为什么总有人搬出“语言只是一种工具”。
我觉得楼主对“语言只是一种工具”的理解有误,至少我本人在说这个的时候所指的意思不是“用什么语言都无所谓”。

为什么会出现“语言只是一种工具”的观点?
我个人的经历来看,这应该和“PHP 是世界上最好的语言”有关。有些人会把语言作为归宿,认为自己精通了一门语言之后就无所不能,从而产生了一些优越感,进而任何需求都要用这一种语言来做。

那么主流语言有没有本质上的好坏?

拧螺母要用扳手,如果想钉钉子扳手也可以临时顶一顶,但大多时候肯定不如锤子好用。

软件架构上来说,从来都找不到一种方案能够解决所有的问题,更明智的是根据具体的需求去寻找更适合的方案,如果实在找不到就去创造一种。
所以语言的诞生往往都是源于当时现有的技术无法很好的满足某一些需求。

“语言只是一种工具”恰恰是说给那些在一门语言上吊死、深陷思维定式的人听的,旨在于提醒他们:跳出语言的限制,或许有更多更好的方案。
2021-03-01 11:06:04 +08:00
回复了 wxsm 创建的主题 程序员 这就是阿里开源的官方态度?
讨厌没有感恩的使用者,也讨厌不 Open 的开源软件。
每一种编程语言都是在特定的环境下,为了满足特定的需求而设计的;因为环境和需求不是统一的,那么自然不同编程语言的设计也并不必须是统一的。

那么要想了解一个编程语言的特性为什么现在是这个样子的,就得了解这个编程语言的发展历史,什么时期在什么环境下遇到了什么需求导致设计了这个特性。

JS 是从一个极其简陋的轻脚本语言,逐步发展为现在这样能胜任大多数领域的语言的。最初数值型就只提供了一种 Number 类型,而不是像其他语言一样会划分 Int 、Long 、Float 、Double 等甚至还区分 signed 和 unsigned,就是因为最初的需求并不需要如此细致地区分数值类型,一个 double 足矣被用来覆盖整数、小数、负数的常见计算需求了(虽然小数有精度损失问题,但总归是遵循 IEEE 的标准和其他主流语言保持一致的)。
在作用域上也一样,怎么简单怎么来,最简单的方案莫过于按照代码块的嵌套关系来界定作用域,最终的效果就是 JS 子块内的代码可以直接调用父块的变量。
对于赋值和返回机制,搞一些深 copy 、浅 copy 、指针什么的也会让语言比较复杂,简单一些就设计成了基本类型深 copy 、高级类型引用。
后来一些开发在使用 JS 的时候有了限制变量的可访问性和操作的需求,奈何 JS 本身设计得很简单,没有专门提供如此高级的功能,但在掌握了前面说的那些特性后发现可以通过一些特别的写法来达到目的,这个写法在其他一些语言中也有类似的用法,于是乎有人给这种用法起了个名字统称为“闭包”。

类似的还有,JS 不专门提供继承派生相关特性,但是为了节省存储空间和创建对象的开销所以设计了原型机制,而用原型链恰好可以模拟出来继承派生的机制,这个肯定也不是 JS 设计者的初衷,而是开发者们的智慧。
2021-02-25 14:48:41 +08:00
回复了 a7dog 创建的主题 JavaScript 做个小调查,一个新项目,大家首选的框架是什么
看需求,如果是做规模很小的 demo 很多时候可以不用框架,原生 API 功能已经很强了。

上一定规模的就看需要哪些特性。
2021-02-25 14:40:31 +08:00
回复了 v2webdev 创建的主题 程序员 “宕机”一词在技术文档中如何表达?
文档是给人阅读的,文档的目标是让阅读的人能够完全理解作者的意图。

曾经分别从纯中文文档和纯英文文档两种方式对文档的目标进行过验证,发现并不是所有概念都能在不同语言中一一对应。
各个语言中都有其文化中有的概念,以及由语言文化引申应用的一些词汇。
比如 Down 这个词在英语不同语境中表达意思不同,然后在计算机领域上有了一些约定俗称的用法,但这个概念仅存在于计算机英文交流领域中,在中文中并没有与之对应的词汇,所以要么就用长句子把 Down 的特征完整描述一遍,要么就直接用英文或在大家都知道的前提下使用“宕机”这种音译词。
相似的还有 Buffer 、Bug 。

然后中文中也有一些概念是中文特有的,或者中文地区特有的,比如龙,翻译成 Dragon 其实完全变了一个味道,因为西方的 Dragon 和中国的龙根本不是一个概念。这时候你可以翻译成 Chinese Dragon 或者直接用 Chinese Long,如果能确定看文档的人都能理解“龙”这个汉子你在英文文档里直接用这个中文也行。
类似的还有中国内地特有的一些商业模式,这些因为发源于中文,所以使用英文描述的时候很容易导致中国人看不懂外国人看不明白,这时候就可以做一个详细的描述,然后关联成一个缩略词在下文中引用。

总之文档的目的就是为了让人看懂,写的时候要时刻揣摩读者是否能看懂,只要能达到让人看懂的目标,你用中文、英文、甚至混搭都应当是可取的。有时候刻意格式化的文风反而会在可读性上起到反作用。
2021-02-03 14:03:50 +08:00
回复了 lagoon 创建的主题 Node.js 学 Node.js,要有 Web 基础吗?
单纯学 Node 本身的话不需要有 Web 基础。

学会之后害你要用 Node 做啥,如果要做 Web 服务的话,就要有 Web 服务相关的基础,比如 HTTP 。
同样是房子,每个人对房子的需求可能不同。

很多人在城市买房的时候,往往会纠结现在买会不会划算,于是乎一拖再拖,原本能买得起最终也买不起了。
我往往会问一个问题:如果买房是用来结婚育儿的话,如果知道房价即将下跌,能否马上卖房,以求不亏?
但实际上这些人往往忽略了自己的核心需求,其中很多人买房都不是为了炒房,而只是为了有一个稳定的居住地点,不用被房东赶得年年搬家。


所以还是要了解根本的需求是什么,是炒房赚钱,还是让孩子就近上好学校,还是通勤方便,还是就只是依恋那个地方……
2021-02-01 12:17:54 +08:00
回复了 naoh1000 创建的主题 Linux 不暴露公网 Linux 使用 5 位数字做用户密码安全吗?
sudo 相当于是让普通用户可以提权为管理员,所以 sudo 要求输入密码也仅仅是为了防止程序自动调用 sudo 指令,这样的话你哪怕设置 1 位密码也是能防住自动调用 sudo 的攻击的,剩下的就是暴力破解的风险了。

Linux 密码也可以设置各种安全策略,从能力上来讲只是为了防止暴力破解的话是问题不大的,就是一方面配置起来比较折腾,另一方面自己误触了会很不爽(比如输错密码要等 10 秒这种策略)。

然后 sudo 和系统抵御外部入侵是没啥大关系的,所以理论上可以把系统配置成对外严格,对内松懈,只要不中木马在内部暴力破解,就没问题。
2021-02-01 12:00:20 +08:00
回复了 az22c 创建的主题 JavaScript 这种带特殊字符属性名怎么用 es6 解构赋值啊?
在 JavaScript 中,标识符只能包含字母或数字或下划线(“_”)或美元符号(“$”),且不能以数字开头。

楼主混淆了字段名和标识符,这是两个不同的概念,你在对象里用的是字段名,你在程序代码里声明变量常量用的是标识符,解构只是一个方便把字段值(或引用)赋值给同名标识符的语法糖而已,并不是说两者是一样的东西。就像是字符串转数值的时候也是只支持符合数值书写规则的字符串,否则就会得到 NaN 。

可以思考一下,如果自己设计一个 JS 引擎,如何解析 ``` const { extend/foo } = originObj; ````这种语句,要解析成预期的解构结果,但又不会引起其他语法歧义。

所以按照 JS 对于字段名和标识符的定义来说,在使用解构语法前最好确保字段名的命名规则符合标识符命名规则,否则就不可能创建同名的标识符(就像你自己直接写```const extend/foo = 'bar';```一样会报错)。

如果只有一个字段要拿,完全可以直接``` const foo2 = originObj['extend/foo']; ```这样既简单,可读性也高。

语言的任何特性都是有其适用场景和不适用场景的,否则旧特性就没有存在的意义了;同样的,解构特性也不是说大家都不要用非解构的写法,而是方便就用、不方便就不用。
2021-02-01 10:24:29 +08:00
回复了 lbmjsls1 创建的主题 Linux 不同版本的 Linux 编译的 c/c++程序是否通用
多数情况下可以通用。

需要注意的就是,CPU 架构要一样,且调用的系统 API 两边都有,最后就是依赖的动态链接库两边都有。
重装的时候最干净的方式就是直接把系统分区(或系统磁盘)格式化,这样的话就需要你的 home 目录的数据在其他分区(或磁盘)上。如果满足这个条件了,那就非常好办了,你可以装系统的时候设置吧 home 分区挂载到 /home 路径上,也可以装完系统后,直接用软链接( ln -s )把 /home 链接到你的实际 home 目录上。
毕竟是重装系统,为了数据安全的考虑,还是建议备份。
https://promisesaplus.com/implementations
说 ES 的 Promise 就是 A+的一种实现。

实际上应该说 ES 的 Promise 兼容 A+,你可以用 A+的用法来使用 ES Promise,不过 ES 提供了更多特性,比如 catch 、finally 、any 、allSettled 。
可以去看看 A+的规范全文,很短,其实都是些很核心的功能,各种库的实现方案都在 A+基础上进行了功能的扩展。
2021-01-28 17:56:04 +08:00
回复了 soupu626 创建的主题 问与答 女友对我跳槽的薪资要求太高怎么办
我想起了知乎上那个个《男朋友年终奖发了六万,转了 520 给我,我该生气吗?》的高赞回答,哈哈哈哈🤣

每个人情况都不一样,也不好评价恋爱观对错,我个人支持 Follow your hart 。

其实找工作除了薪资以外,团队氛围、业务前景、领导如何都挺重要的;两年半工作经验的话,我通常会建议以个人成长为首,如果所做的工作内容、团队氛围能够让你更快成长的话,等有 5 年工作经验再出来可能薪资可以翻倍。
2021-01-28 17:41:36 +08:00
回复了 wuxi889 创建的主题 Linux 求助 在 Linux shell 里的替换问题
@zpfhbyx Linux 下的 sed 是 GNU sed,MacOS 下的 sed 是 BSD sed,不光 sed,很多指令两者都有区别。
你要想在 MacOS 下用 GNU 指令就要装 Coreutils,你可以去网上搜如何用 brew 装,以及如何设为默认指令。
2021-01-28 17:35:33 +08:00
回复了 xuxixk 创建的主题 硬件 问一个 1w 左右的程序员电脑配置
去年 618 配的 AMD 机器,没遇到任何兼容性问题,Win10 下跑 Docker-desktop 和 WSL2 都没问题,玩游戏和各种软件也没问题。我还有一块系统盘是 Linux,从 4790k 的机器上拆下来直接插 AMD 的机器里可以直接开机用,都不需要重装系统。

主要看你的工作(比如编译)需要的性能场景是啥样的,比如对频率敏感的话就选高主频的,对核心敏感就选核心多的。

想用核显的话,目前就只能选 Intel 了,AMD 目前只有笔记本平台有核显(而且还不错)。
现在的硬件显示 4k 跟玩似的,我用 intel 的 J 系列低端工控 CPU 都带得起 4k,你可以去 Intel ARK 去看核显的信息,说支持 4K 的问题都不大,更何况是显示文本之类的轻度使用。不过双 4K 就不清楚了。
i7-10700K 挺好的,只不过 10 系的 i7 档就这一个型号,没得选择和比较,建议和 AMD 5000 系对比一下性能和价格,上个亮机卡也可以考虑。

内存四个槽的话可以先插俩,后续不够用再加,或者你不差钱可以插满单条 32G 的一步到位。

SSD 就 1T 起步,2T 看预算,我去年买的西数黑盘,最近几个月没关注是不是有新的黑马,你要是懒得挑可以无脑三星 EVO 。

噪音小可以买好的风冷,用猫头鹰的风扇。

不玩游戏的话 1W 能配性能超强的机器了。
2021-01-28 16:45:06 +08:00
回复了 bnrwnjyw 创建的主题 健康 只是走路,心率随便就上 120 正常吗?
看怎么测出来的,我的手环也偶尔测出来 120 以上的心率,但是都是偶尔有一次,不知道是测量误差还是真的到这么多。

要是真的担忧可以咨询医生,能得到更专业的判断。

少吃盐少熬夜,减少心脏负担。
1 ... 175  176  177  178  179  180  181  182  183  184 ... 251  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2836 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 61ms · UTC 14:14 · PVG 22:14 · LAX 07:14 · JFK 10:14
Developed with CodeLauncher
♥ Do have faith in what you're doing.