相关疑难解决方法(0)

无用的猫吗?

这可能是许多常见问题解答 - 而不是使用:

cat file | command
Run Code Online (Sandbox Code Playgroud)

(这被称为无用的猫),正确的方式应该是:

command < file
Run Code Online (Sandbox Code Playgroud)

在第二,"正确"的方式 - 操作系统不必产生额外的过程.
尽管知道这一点,我继续使用无用的猫有两个原因.

  1. 更美观 - 我喜欢数据仅从左到右均匀移动.而且它更容易更换cat别的东西(gzcat,echo,...),添加第二个文件或插入新的过滤器(pv,mbuffer,grep...).

  2. 我"觉得"在某些情况下可能会更快.更快,因为有2个进程,1st(cat)执行读取而第二个执行任何操作.它们可以并行运行,这意味着有时可以更快地执行.

我的逻辑是否正确(第二个原因)?

shell command-line cat

90
推荐指数
8
解决办法
2万
查看次数

SHA 256不同的结果

如果我从Mac调用命令

echo hello | shasum -a 256
Run Code Online (Sandbox Code Playgroud)

或者来自ubuntu

echo hello | sha256sum
Run Code Online (Sandbox Code Playgroud)

然后我得到以下结果

5891b5b522d5df086d0ff0b110fbd9d21bb4fc7163af34d08286a2e846f6be03  -
Run Code Online (Sandbox Code Playgroud)

我注意到最后有冲刺.

但是当我使用Python hashlib或Java时java.security.MessageDigest,它们会给我相同的结果如下:

2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
Run Code Online (Sandbox Code Playgroud)

所以,有人能指出我错在哪里吗?

谢谢.


蟒蛇:

>>> import hashlib
>>> hashlib.sha256("hello").hexdigest()
Run Code Online (Sandbox Code Playgroud)

Java的:

MessageDigest md = MessageDigest.getInstance("SHA-256");
String text = "hello";
md.update(text.getBytes("UTF-8"));
byte[] digest = md.digest();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < digest.length; i++) {
    sb.append(String.format("%02x", digest[i] & 0xFF))
}
System.out.println(sb.toString());
Run Code Online (Sandbox Code Playgroud)

python hash cryptography sha256

10
推荐指数
2
解决办法
6822
查看次数

Bash sha256 与 erlang one 不匹配

当我“sha256”时,Erlang 返回的结果与 bash 命令不同。

echo a | sha256sum, returns: 87428fc522803d31065e7bce3cf03fe475096631e5e07bbd7a0fde60c4cf25c7  -
Run Code Online (Sandbox Code Playgroud)

埃尔兰

    Bin = crypto:hash(sha256, "a").


<<202,151,129,18,202,27,189,202,250,194,49,179,154,35,220,
      77,167,134,239,248,20,124,78,114,185,128,119,133,175,
      238,72,187>>
Run Code Online (Sandbox Code Playgroud)

我尝试了不同的二进制到十六进制, 但没有一个给出我期望的结果。

我得到这个结果:

    bin_to_hex:bin_to_hex(Bin).
<<"CA978112CA1BBDCAFAC231B39A23DC4DA786EFF8147C4E72B9807785AFEE48BB">>
Run Code Online (Sandbox Code Playgroud)

erlang cryptography elixir erlang-otp sha256

0
推荐指数
1
解决办法
202
查看次数

标签 统计

cryptography ×2

sha256 ×2

cat ×1

command-line ×1

elixir ×1

erlang ×1

erlang-otp ×1

hash ×1

python ×1

shell ×1