zoukankan      html  css  js  c++  java
  • <Openssl下hash函数>

    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

  • 相关阅读:
    爬虫(一)—— 爬取一个简单的网站
    Neutron的安全组原理
    Neutron的防火墙原理
    Openstack Mitaka 负载均衡 LoadBalancerv2
    iptables(四)iptables匹配条件总结之一
    iptables(三)iptables规则管理(增、删、改)
    iptables(二)iptables实际操作之规则查询
    iptables(一)iptables概念
    opensack-mitaka网络性能测试shaker
    neutron二层网络实现
  • 原文地址:https://www.cnblogs.com/linux-super-meng/p/3814918.html
Copyright © 2011-2022 走看看