AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题

问题[hashsum](unix)

Martin Hope
PersianGulf
Asked: 2025-02-22 14:16:00 +0800 CST

Linux 中的 /etc/shadow 文件和密码存储算法[重复]

  • 5
这个问题已经有答案了:
如何找到用于散列密码的散列算法? (1 个答案)
昨天休息。

我不知道/etc/shadowLinux中存储密码的算法是什么。
我通过python通过以下脚本进行了测试:

import hashlib
message = b"123"

md5_hash = hashlib.md5(message).hexdigest()
sha1_hash = hashlib.sha1(message).hexdigest()
sha256_hash = hashlib.sha256(message).hexdigest()
sha384_hash = hashlib.sha384(message).hexdigest()
sha512_hash = hashlib.sha512(message).hexdigest()

print(f"MD5: {md5_hash}")
print(f"SHA-1: {sha1_hash}")
print(f"SHA-256: {sha256_hash}")
print(f"SHA-384: {sha384_hash}")
print(f"SHA-512: {sha512_hash}")

但是我没有看到我的密码。我的密码是123。

  1. 卷影存储是否为 HASH?如果是,我应该放弃获取密码。
  2. 如果密码没有以哈希形式存储,我该如何获取它?
hashsum
  • 1 个回答
  • 61 Views
Martin Hope
flopp
Asked: 2021-12-12 02:45:02 +0800 CST

如何区分文件夹并获取详细信息?

  • 0

我有 2 个 ~55 Gb 文件夹(包含许多子文件夹),每 ~30 Mb 包含超过 1500 个文件。如果某些文件丢失/新文件仍然存在或它们的哈希与原始内容不同,我需要比较它们并获取信息。我该怎么做?

hashsum diff
  • 1 个回答
  • 221 Views
Martin Hope
topencrypt
Asked: 2019-09-27 22:10:30 +0800 CST

我如何在没有网络连接的情况下使用命令“sha256sum x.img”并获得哈希响应?

  • -2

我的印象是 sha256sum 对事物的发行版进行 ping 操作,并为我的 .img 读取“THEIR”哈希文件,并在我的任期内以哈希打印输出的形式向我提供该信息。

如果是这样,我如何能够在不连接到网络的情况下获取该信息?

我在没有连接网络的情况下尝试了几次,既没有连接wifi也没有连接以太网。两次,在不同的术语中使用不同的图像,我得到了回应。这让我觉得该命令只是在读取随图像下载的我的“sha256sum.sha”文件。也许无论哪种方式,看起来都很奇怪。

Debian 10 破坏者;32 位

谢谢。

hashsum
  • 1 个回答
  • 126 Views
Martin Hope
wjwrpoyob
Asked: 2019-08-27 10:31:49 +0800 CST

PBKDF2 不一样

  • 1

我正在尝试计算 PBKDF2 哈希,但得到的结果不一致。

Message: Hello
Salt: 60C100D05C610E8B94A854DFC0789885
Iterations: 1
Key length: 16

Expected hash: 584519EF3E56714E301A4D85F972B6B4
  • nettle-pbkdf2给a951d3cd9014e0c0 527000727c1e928a
  • https://asecuritysite.com/encryption/PBKDF2z并CryptoJS给出584519EF3E56714E301A4D85F972B6B4

如何使用nettle-pbkdf2或任何其他 CLI 程序来生成预期的哈希584519EF3E56714E301A4D85F972B6B4?

复制步骤如下:

nettle-pbkdf2

$ printf "Hello" | nettle-pbkdf2 --iterations=1 --length=16 --hex-salt 60C100D05C610E8B94A854DFC0789885
> a951d3cd9014e0c0 527000727c1e928a

https://asecuritysite.com/encryption/PBKDF2z

Message: Hello
Salt: 60C100D05C610E8B94A854DFC0789885
Iterations: 1
Key length: 16

Hash: 584519EF3E56714E301A4D85F972B6B4

CryptoJS

<script>
/*
CryptoJS v3.1.2
code.google.com/p/crypto-js
(c) 2009-2013 by Jeff Mott. All rights reserved.
code.google.com/p/crypto-js/wiki/License
*/
var CryptoJS=CryptoJS||function(g,j){var e={},d=e.lib={},m=function(){},n=d.Base={extend:function(a){m.prototype=this;var c=new m;a&&c.mixIn(a);c.hasOwnProperty("init")||(c.init=function(){c.$super.init.apply(this,arguments)});c.init.prototype=c;c.$super=this;return c},create:function(){var a=this.extend();a.init.apply(a,arguments);return a},init:function(){},mixIn:function(a){for(var c in a)a.hasOwnProperty(c)&&(this[c]=a[c]);a.hasOwnProperty("toString")&&(this.toString=a.toString)},clone:function(){return this.init.prototype.extend(this)}},
q=d.WordArray=n.extend({init:function(a,c){a=this.words=a||[];this.sigBytes=c!=j?c:4*a.length},toString:function(a){return(a||l).stringify(this)},concat:function(a){var c=this.words,p=a.words,f=this.sigBytes;a=a.sigBytes;this.clamp();if(f%4)for(var b=0;b<a;b++)c[f+b>>>2]|=(p[b>>>2]>>>24-8*(b%4)&255)<<24-8*((f+b)%4);else if(65535<p.length)for(b=0;b<a;b+=4)c[f+b>>>2]=p[b>>>2];else c.push.apply(c,p);this.sigBytes+=a;return this},clamp:function(){var a=this.words,c=this.sigBytes;a[c>>>2]&=4294967295<<
32-8*(c%4);a.length=g.ceil(c/4)},clone:function(){var a=n.clone.call(this);a.words=this.words.slice(0);return a},random:function(a){for(var c=[],b=0;b<a;b+=4)c.push(4294967296*g.random()|0);return new q.init(c,a)}}),b=e.enc={},l=b.Hex={stringify:function(a){var c=a.words;a=a.sigBytes;for(var b=[],f=0;f<a;f++){var d=c[f>>>2]>>>24-8*(f%4)&255;b.push((d>>>4).toString(16));b.push((d&15).toString(16))}return b.join("")},parse:function(a){for(var c=a.length,b=[],f=0;f<c;f+=2)b[f>>>3]|=parseInt(a.substr(f,
2),16)<<24-4*(f%8);return new q.init(b,c/2)}},k=b.Latin1={stringify:function(a){var c=a.words;a=a.sigBytes;for(var b=[],f=0;f<a;f++)b.push(String.fromCharCode(c[f>>>2]>>>24-8*(f%4)&255));return b.join("")},parse:function(a){for(var c=a.length,b=[],f=0;f<c;f++)b[f>>>2]|=(a.charCodeAt(f)&255)<<24-8*(f%4);return new q.init(b,c)}},h=b.Utf8={stringify:function(a){try{return decodeURIComponent(escape(k.stringify(a)))}catch(b){throw Error("Malformed UTF-8 data");}},parse:function(a){return k.parse(unescape(encodeURIComponent(a)))}},
u=d.BufferedBlockAlgorithm=n.extend({reset:function(){this._data=new q.init;this._nDataBytes=0},_append:function(a){"string"==typeof a&&(a=h.parse(a));this._data.concat(a);this._nDataBytes+=a.sigBytes},_process:function(a){var b=this._data,d=b.words,f=b.sigBytes,l=this.blockSize,e=f/(4*l),e=a?g.ceil(e):g.max((e|0)-this._minBufferSize,0);a=e*l;f=g.min(4*a,f);if(a){for(var h=0;h<a;h+=l)this._doProcessBlock(d,h);h=d.splice(0,a);b.sigBytes-=f}return new q.init(h,f)},clone:function(){var a=n.clone.call(this);
a._data=this._data.clone();return a},_minBufferSize:0});d.Hasher=u.extend({cfg:n.extend(),init:function(a){this.cfg=this.cfg.extend(a);this.reset()},reset:function(){u.reset.call(this);this._doReset()},update:function(a){this._append(a);this._process();return this},finalize:function(a){a&&this._append(a);return this._doFinalize()},blockSize:16,_createHelper:function(a){return function(b,d){return(new a.init(d)).finalize(b)}},_createHmacHelper:function(a){return function(b,d){return(new w.HMAC.init(a,
d)).finalize(b)}}});var w=e.algo={};return e}(Math);
(function(){var g=CryptoJS,j=g.lib,e=j.WordArray,d=j.Hasher,m=[],j=g.algo.SHA1=d.extend({_doReset:function(){this._hash=new e.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(d,e){for(var b=this._hash.words,l=b[0],k=b[1],h=b[2],g=b[3],j=b[4],a=0;80>a;a++){if(16>a)m[a]=d[e+a]|0;else{var c=m[a-3]^m[a-8]^m[a-14]^m[a-16];m[a]=c<<1|c>>>31}c=(l<<5|l>>>27)+j+m[a];c=20>a?c+((k&h|~k&g)+1518500249):40>a?c+((k^h^g)+1859775393):60>a?c+((k&h|k&g|h&g)-1894007588):c+((k^h^
g)-899497514);j=g;g=h;h=k<<30|k>>>2;k=l;l=c}b[0]=b[0]+l|0;b[1]=b[1]+k|0;b[2]=b[2]+h|0;b[3]=b[3]+g|0;b[4]=b[4]+j|0},_doFinalize:function(){var d=this._data,e=d.words,b=8*this._nDataBytes,l=8*d.sigBytes;e[l>>>5]|=128<<24-l%32;e[(l+64>>>9<<4)+14]=Math.floor(b/4294967296);e[(l+64>>>9<<4)+15]=b;d.sigBytes=4*e.length;this._process();return this._hash},clone:function(){var e=d.clone.call(this);e._hash=this._hash.clone();return e}});g.SHA1=d._createHelper(j);g.HmacSHA1=d._createHmacHelper(j)})();
(function(){var g=CryptoJS,j=g.enc.Utf8;g.algo.HMAC=g.lib.Base.extend({init:function(e,d){e=this._hasher=new e.init;"string"==typeof d&&(d=j.parse(d));var g=e.blockSize,n=4*g;d.sigBytes>n&&(d=e.finalize(d));d.clamp();for(var q=this._oKey=d.clone(),b=this._iKey=d.clone(),l=q.words,k=b.words,h=0;h<g;h++)l[h]^=1549556828,k[h]^=909522486;q.sigBytes=b.sigBytes=n;this.reset()},reset:function(){var e=this._hasher;e.reset();e.update(this._iKey)},update:function(e){this._hasher.update(e);return this},finalize:function(e){var d=
this._hasher;e=d.finalize(e);d.reset();return d.finalize(this._oKey.clone().concat(e))}})})();
(function(){var g=CryptoJS,j=g.lib,e=j.Base,d=j.WordArray,j=g.algo,m=j.HMAC,n=j.PBKDF2=e.extend({cfg:e.extend({keySize:4,hasher:j.SHA1,iterations:1}),init:function(d){this.cfg=this.cfg.extend(d)},compute:function(e,b){for(var g=this.cfg,k=m.create(g.hasher,e),h=d.create(),j=d.create([1]),n=h.words,a=j.words,c=g.keySize,g=g.iterations;n.length<c;){var p=k.update(b).finalize(j);k.reset();for(var f=p.words,v=f.length,s=p,t=1;t<g;t++){s=k.finalize(s);k.reset();for(var x=s.words,r=0;r<v;r++)f[r]^=x[r]}h.concat(p);
a[0]++}h.sigBytes=4*c;return h}});g.PBKDF2=function(d,b,e){return n.create(e).compute(d,b)}})();
</script>

<script>
var salt = CryptoJS.enc.Hex.parse("60c100d05c610e8b94a854dfc0789885");
var message = "Hello";
var key128Bits = CryptoJS.PBKDF2(message, salt, { keySize: 4, iterations: 1 });

// Logs "584519ef3e56714e301a4d85f972b6b4"
console.log(key128Bits.toString());
</script>
command-line hashsum
  • 1 个回答
  • 867 Views
Martin Hope
dr_
Asked: 2019-08-01 05:32:40 +0800 CST

RSA 密钥的 160 位指纹

  • 2

命令

ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub

打印 RSA 密钥的128 位指纹。

获取RSA 密钥的160 位指纹的命令是什么?

ssh hashsum
  • 1 个回答
  • 301 Views
Martin Hope
simonzack
Asked: 2019-03-02 00:30:55 +0800 CST

使用 bash 生成 sfv 文件(crcs 以及路径)

  • 0

我将如何编写脚本以便它给我一个 crcs 列表以及路径,比如一个 sfv 文件?我可以在 python 中编写代码,但在 shell 中可能有更简单的方法。

到目前为止,我有:

find . -type f -exec crc32 {} \; > chksum.txt

但这不包括路径

一个示例输出是:

file_one.zip   c45ad668
file_two.zip   7903b8e6
file_three.zip e99a65fb
find hashsum
  • 1 个回答
  • 185 Views
Martin Hope
EmmaV
Asked: 2019-01-20 08:29:33 +0800 CST

将 pv 与 md5sum 一起使用

  • 6

我用来检查同一目录md5sum中pv的 4 GiB 文件:

md5sum dir/* | pv -s 4g | sort

该命令在大约 28 秒内成功完成,但pv输出全错。这是始终显示的那种输出:

219 B 0:00:07 [ 125 B/s ] [>                                ]  0% ETA 1668:01:09:02

没有-s 4gand也是这样| sort。我也尝试过使用不同的文件。

我试过使用pvwithcat并且输出很好,所以问题似乎是由md5sum.

pipe hashsum
  • 5 个回答
  • 1779 Views
Martin Hope
Julio Diaz
Asked: 2018-12-20 08:42:50 +0800 CST

awk 在另一个 awk 的系统中

  • 1

我得到一个文件,其中包含同一文件夹中文件的 md5 值。信息在文件md5checksums.txt中,格式如下:

b0da7ead9d82a3494d7e0a7099871ef4  ./GCF_000959505.1_ASM95950v1_assembly_report.txt
7ff32cbb16daf46c87b3546ad576ff66  ./GCF_000959505.1_ASM95950v1_assembly_stats.txt
034081da3aa0708f06c2ec1129e4aca9  ./GCF_000959505.1_ASM95950v1_cds_from_genomic.fna.gz

我想对所有文件进行 md5 检查。我得到了这个命令:

awk '{system("md5 "$2)}' md5checksums.txt

但这只是获取 md5 值

MD5 (./GCF_000959505.1_ASM95950v1_assembly_report.txt) = b0da7ead9d82a3494d7e0a7099871ef4
MD5 (./GCF_000959505.1_ASM95950v1_assembly_stats.txt) = 7ff32cbb16daf46c87b3546ad576ff66
MD5 (./GCF_000959505.1_ASM95950v1_cds_from_genomic.fna.gz) = 3a30966523a36368ab432f666001f80a

我想根据md5checksums.txt 我认为可以在 awk 中执行类似 awk 的操作的第一列提取计算出的 md5,但我无法让它工作:

awk '{system("md5 "$2" | awk HERE EVALUATE RESULTS AND CHECK IF EQUAL TO $1")}' md5checksums.txt
awk hashsum
  • 1 个回答
  • 126 Views
Martin Hope
neverMind9
Asked: 2018-11-11 13:46:44 +0800 CST

命令行生成的哈希和与在线哈希生成器不同……[重复]

  • 1
这个问题在这里已经有了答案:
为什么 `md5sum` 提供的散列值与互联网提供的不同? (1 个回答)
3年前关闭。

输入文本:test

  • 在线 MD5 哈希和生成器:098f6bcd4621d373cade4e832627b4f6
  • echo "test" | md5sum: d8e8fca2dc0f896fd7cb4cb0031ba249

同样的情况也发生在sha512sumandsha1sum上。

为什么 Linux 和在线生成器会生成不同的哈希值?

command-line hashsum
  • 1 个回答
  • 158 Views
Martin Hope
Vlastimil Burián
Asked: 2018-10-19 21:38:40 +0800 CST

如何检查 FreeBSD 上的哈希和文件?

  • 11

情况

我在没有 GUI 的 FreeBSD 11.2 上。我是 BSD 系统的新手。

假设我们SHA512SUM在 FreeBSD 上生成了一个文件:

sha512 encrypt-file-aes256 decrypt-file-aes256 > SHA512SUM

它看起来与 Linux 格式不同,Linux 可以使用--tagswitch 生成:

SHA512 (encrypt-file-aes256) = 9170caaa45303d2e5f04c21732500980f3b06fc361018f953127506b56d3f2f46c95efdc291e160dd80e39b5304f327d83fe72c625ab5f31660db9c99dbfd017
SHA512 (decrypt-file-aes256) = 893693eec618542b0b95051952f9258824fe7004c360f8e6056a51638592510a704e27b707b9176febca655b7df581c9a6e2220b6511e8426c1501f6b2dd48a9

问题

我如何检查这个文件?手册页中没有--check选项。


进步

到目前为止,我只能通过硬编码哈希和来手动测试单个文件:

sha512 -c "9170caaa45303d2e5f04c21732500980f3b06fc361018f953127506b56d3f2f46c95efdc291e160dd80e39b5304f327d83fe72c625ab5f31660db9c99dbfd017" encrypt-file-aes256 && echo $?

脚本方面,我还没有看到SHA512SUM自动检查整个文件的方法。

请注意,它可能包含比我的情况更多的两个文件。

hashsum freebsd
  • 1 个回答
  • 3129 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve