加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

macos – 使用OS X bash将剪贴板中的sha1校验和与本地文件的sha1

发布时间:2020-12-15 21:24:32 所属栏目:安全 来源:网络整理
导读:我想也许是将shasum和diff与管道或其他东西结合起来…… 我想知道将从网站复制到我的剪贴板的sha1校验和与我从同一站点下载的本地文件的sha1校验和进行比较以验证其完整性的最快方法. 例如,我在Raspberry Pi NOOBS download page的剪贴板中有sha1字符串94f7e
我想也许是将shasum和diff与管道或其他东西结合起来……

我想知道将从网站复制到我的剪贴板的sha1校验和与我从同一站点下载的本地文件的sha1校验和进行比较以验证其完整性的最快方法.

例如,我在Raspberry Pi NOOBS download page的剪贴板中有sha1字符串94f7ee8a067ac57c6d35523d99d1f0097f8dc5cc,我想将它与使用终端应用程序的NOOBS_v1_9_0.zip文件的校验和进行比较,我不想创建一个新的文件来自剪贴板内容.

我认为这是bash 3.2(它是OS X 10.11.4)

解决方法

你可以在bash中使用这样的命令:

if [[ $(pbpaste) == $(shasum file | awk '{print $1}') ]]; then echo 'matches'; fi

使用它你可以创建这样的函数(例如,将它添加到?/ .bash_profile):

shachk () { 
    if [[ $(pbpaste) == $(shasum "$@" | awk '{print $1}') ]]; then echo 'match'; fi ;
}

所以在命令行上你可以简单地输入:

$shachk somefile

然后它会将它与您的粘贴板上的哈希值进行比较.

编辑:稍微改进的函数版本,它返回文件路径,匹配/失败,并为输出着色.

shachk() { 
    [[ $(pbpaste) == $(shasum "$@" | awk '{print $1}') ]] 
    && echo $1 == $(pbpaste) $'e[1;32mMATCHESe[0m' && return; 
    echo $1 != $(pbpaste) $'e[1;31mFAILEDe[0m' ; 
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读