<Openssl下hash函式>

Linux.應用發表於2014-06-29

 

hash函式:是不可逆的函式,它的輸入可以是任意長度的位元組流。它的輸出是固定大小的,hash函式的作用就是給你的檔案產生一個摘要,它是獨一無二的。

例如:y=f(x) x代表輸入  y代表輸出   輸入x求y容易  單輸入y求x就難了

我們常見的hash函式MD5和SHA1 當然和有其他的比較少見。

DM5 :通常為128個bits  16個位元組

sha1:通常為160bits     一個位元組8個bits  20個位元組

 

[root@redhat ~]# md5sum /etc/passwd    //linux下也有命令來求檔案md5的值
c79a0c2c792891374595009e6155435c  /etc/passwd


[root@redhat ~]# openssl dgst -md5 /etc/passwd
MD5(/etc/passwd)= c79a0c2c792891374595009e6155435c

 

 

[root@redhat ~]# openssl dgst -sha1 /etc/passwd
SHA1(/etc/passwd)= b4e99419a91a3908e5e5c9c07a0d91c408c1a008

 

 

[root@redhat ~]# sha1sum /etc/passwd
b4e99419a91a3908e5e5c9c07a0d91c408c1a008  /etc/passwd

-c 引數 給輸出的hash值以:隔開

[root@redhat ~]# openssl  dgst -sha1 -c /etc/passwd
SHA1(/etc/passwd)= b4:e9:94:19:a9:1a:39:08:e5:e5:c9:c0:7a:0d:91:c4:08:c1:a0:08

 

同樣也可以使用md5校驗檔案的完整性,檔案的一個位元組變了,hash值就會發生天翻地覆的變化。

通常一些官方的網站把軟體包釋出時都會發布MD5和sha1值,防止別人篡改軟體包。

[root@redhat opt]# cat txt
hello world!
[root@redhat opt]# md5sum txt
c897d1410af8f2c74fba11b1db511e9e  txt

 

[root@redhat opt]# cat txt
hollo world!
[root@redhat opt]# md5sum txt
ada39606d10543a059d139d1debb6a37  txt

 

 

 

 

 

 

 

 

 

 

 

 

 

相關文章