对sha1sum的两个哈希输出执行OR操作 [英] Perform OR on two hash outputs of sha1sum

查看:85
本文介绍了对sha1sum的两个哈希输出执行OR操作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想执行sha1sum file1 和sha1sum file2 ,并使用bash对它们进行按位或运算。输出应该是可打印的,即53a23bc2e24d039 ...(160位)

我该怎么做?

I知道



echo $((0xa | 0xb))但是如何扩展到40个十六进制数字?



解决方案

我不认为你真的想要一个包含160位的OR,但是如果你这样做: b
$ b

  split32(){
x ='s / \(........ \)\(.. ...... \)\(........ \)\(........ \)\(........ \ )/'
x = $ x'0x\1 0x\2 0x\3 0x\4 0x\5''
sed -e$ x
}

(sha1sum $ 1 | split32; sha1sum $ 2 | split32)| (
阅读a1 b1 c1 d1 e1 x1
阅读a2 b2 c2 d2 e2 x2
a = $(($ a1 | $ a2))
b = $(($ b1 | $ b2))
c = $(($ c1 | $ c2))
d = $(($ d1 | $ d2))
e = $(($ e1 | $ e2))
printf'%08x%08x%08x%08x%08x \''$ a1 $ b1 $ c1 $ d1 $ e1
printf'+%08x%08x%08x%08x%08x\\\
'$ a2 $ b2 $ c2 $ d2 $ e2
printf'=%08x%08x%08x%08x%08x\\\
'$ a $ b $ c $ d $ e

$ bash bigOr.sh fun.tar fun.tgz
e515d3813b17c36b9a7d29f7aea3e79e264449b7
+ 4f201513105c301944d0a0ba5864d9f07544ca76
= ef35d7933b5ff37bdefda9fffee7fffe7744cbf7


I want perform sha1sum file1 and sha1sum file2 and perform bitwise OR operation with them using bash. Output should be printable i.e 53a23bc2e24d039 ... (160 bit)

How can I do this?

I know

echo $(( 0xa | 0xb )) but how to extend to 40 hexadecimal digits?

Thanks

解决方案

I don't think you really want a 160-bit inclusive OR, but if you do:

split32 () {
  x='s/\(........\)\(........\)\(........\)\(........\)\(........\)/'
  x=$x'0x\1 0x\2 0x\3 0x\4 0x\5/'
  sed -e "$x"
}

(sha1sum $1 | split32; sha1sum $2 | split32) | (
    read a1 b1 c1 d1 e1 x1
    read a2 b2 c2 d2 e2 x2
    a=$(($a1 | $a2))
    b=$(($b1 | $b2))
    c=$(($c1 | $c2))
    d=$(($d1 | $d2))
    e=$(($e1 | $e2))
    printf '  %08x%08x%08x%08x%08x\n' $a1 $b1 $c1 $d1 $e1
    printf '+ %08x%08x%08x%08x%08x\n' $a2 $b2 $c2 $d2 $e2
    printf '= %08x%08x%08x%08x%08x\n' $a  $b  $c  $d  $e 
)
$ bash bigOr.sh fun.tar fun.tgz
  e515d3813b17c36b9a7d29f7aea3e79e264449b7
+ 4f201513105c301944d0a0ba5864d9f07544ca76
= ef35d7933b5ff37bdefda9fffee7fffe7744cbf7

这篇关于对sha1sum的两个哈希输出执行OR操作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆