win 平台的 powershell 有什么简单的命令,可以让文件的二进制翻转过来吗?

2021-07-12 20:31:40 +08:00
 Richard14

如题,需求是使用简单命令对文件进行简单加密(在不使用第三方软件的情况下),我不知道 win 平台上 cmd 或者 powershell 是否有类似的功能。

比如源文件数据是 111100001,是否能让它 0 和 1 翻转,比如变成 000011110

再或者让顺序反过来也行,比如变成 100001111 这样

1272 次点击
所在节点    问与答
10 条回复
learningman
2021-07-12 20:39:31 +08:00
这种操作二进制的为啥不拿 C 写一个
12101111
2021-07-12 20:44:57 +08:00
老老实实用标准的加密算法, 自己造轮子何必呢, .NET 又不是没有加密库
LeeReamond
2021-07-12 20:47:31 +08:00
@learningman 我估计楼主的不使用第三方软件的意思,包含了自己写的也算第三方
LimeVista
2021-07-12 20:59:21 +08:00
PowerShell 调用 AES 加密
crab
2021-07-13 00:07:13 +08:00
hxy100
2021-07-13 00:07:53 +08:00
推荐用 C 写个控制台程序,反正就一个 exe,powershell 或者 cmd 直接调即可,参数可以自定义,并且无功能上的冗余,性能也能够保证。
---
懒得写的话直接去找个开源的下来调用,或者使用 openssl 来加密。
Richard14
2021-07-13 00:28:15 +08:00
@crab 感谢,功能上似乎是可以实现,不过效果上还有细微差异。我希望的效果是类似于,比如创建一个脚本叫 convert.ps ,使用的时候就 convert.ps file1 ,他就会自动翻转 file1,再次执行 file1 就会翻转回来,也就是解密了。

因为我完全不懂 ps 脚本所以也不会修改,不过看来是可以做到的
Richard14
2021-07-13 01:17:06 +08:00
@crab 学习 ps 以后改了一下,确实可以做,但 c#的效率太低导致大文件转换速度太慢,纯靠 ps 编程实现不具备实际操作性,看来似乎没有内建的类似的比特处理系统,可能自己用 C 实现是唯一解。
ryd994
2021-07-13 04:48:43 +08:00
@Richard14 你这不仅不懂 ps,还不懂 xor 啊
xor 1 就等于取反啊

还有,取反这只能算混淆,不能叫加密。加密算法的可解密性应该取决于且只取决于密钥。而不取决于算法本身的隐秘性,那叫混淆。
Richard14
2021-07-13 06:09:15 +08:00
@ryd994 兄弟你这个,建议在回帖说别人懂不懂什么之前先学好语文,学好阅读理解再学编程。我的回复在上文语境中的意思明显指的是上述脚本中提供的 API 意为根据 A 和 B 两个文件生成新文件 C,而我需要的是能够(通过 xor 1 ),在同样命令下正反翻转单个文件的 api,因为 xor1 和翻转之间的联系过于基础,我想没有人会特殊强调,而后我在下文说改了改脚本功能已经实现了,到你这里就变成不仅不懂 ps 而且不懂 xor 了。另外你这个杠混淆还是加密也挺没意思的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/789107

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX