zoukankan      html  css  js  c++  java
  • PHP 做文件校验,MD5,CRC32,SHA等

    函数 hash_file()

    使用给定文件的内容生成哈希值

    说明

    string hash_file ( string $algo , string $filename [, bool $raw_output = false ] )

    参数

    algo
    要使用的哈希算法的名称,例如:"md5","sha256","haval160,4" 等。

    // 网友提供的一些可用 algo 以及中他机器中测试的性能
    
    ALGO: md2, time: 2.0341160297394
    ALGO: md4, time: 0.062004089355469
    ALGO: md5, time: 0.071003913879395
    ALGO: sha1, time: 0.086004972457886
    ALGO: sha224, time: 0.18301010131836
    ALGO: sha256, time: 0.18301105499268
    ALGO: sha384, time: 0.36102104187012
    ALGO: sha512, time: 0.3610200881958
    ALGO: ripemd128, time: 0.15900897979736
    ALGO: ripemd160, time: 0.20701193809509
    ALGO: ripemd256, time: 0.16500997543335
    ALGO: ripemd320, time: 0.22501301765442
    ALGO: whirlpool, time: 0.74204206466675
    ALGO: tiger128,3, time: 0.12200689315796
    ALGO: tiger160,3, time: 0.12100696563721
    ALGO: tiger192,3, time: 0.12200713157654
    ALGO: tiger128,4, time: 0.15700888633728
    ALGO: tiger160,4, time: 0.15700888633728
    ALGO: tiger192,4, time: 0.15600895881653
    ALGO: snefru, time: 1.1520659923553
    ALGO: snefru256, time: 1.151065826416
    ALGO: gost, time: 0.48902797698975
    ALGO: gost-crypto, time: 0.49202799797058
    ALGO: adler32, time: 0.037002086639404
    ALGO: crc32, time: 0.10300588607788
    ALGO: crc32b, time: 0.093006134033203
    ALGO: fnv132, time: 0.043002128601074
    ALGO: fnv1a32, time: 0.045002937316895
    ALGO: fnv164, time: 0.12800693511963
    ALGO: fnv1a64, time: 0.12800693511963
    ALGO: joaat, time: 0.070003986358643
    ALGO: haval128,3, time: 0.12900686264038
    ALGO: haval160,3, time: 0.12800693511963
    ALGO: haval192,3, time: 0.12900805473328
    ALGO: haval224,3, time: 0.12800693511963
    ALGO: haval256,3, time: 0.12800693511963
    ALGO: haval128,4, time: 0.19901204109192
    ALGO: haval160,4, time: 0.1990110874176
    ALGO: haval192,4, time: 0.20001196861267
    ALGO: haval224,4, time: 0.20001101493835
    ALGO: haval256,4, time: 0.20001220703125
    ALGO: haval128,5, time: 0.22601294517517
    ALGO: haval160,5, time: 0.2270131111145
    ALGO: haval192,5, time: 0.2270131111145
    ALGO: haval224,5, time: 0.2270131111145
    ALGO: haval256,5, time: 0.22701287269592
    

    filename
    要进行哈希运算的文件路径。支持 fopen 封装器。
    raw_output
    设置为 TRUE,输出格式为原始的二进制数据。 设置为 FALSE,输出小写的 16 进制字符串。

    返回值

    如果 raw_output 设置为 TRUE, 则返回原始二进制数据表示的信息摘要, 否则返回 16 进制小写字符串格式表示的信息摘要。

    /* 创建一个要计算哈希值的文件 */
    file_put_contents('example.txt', 'The quick brown fox jumped over the lazy dog.');
    echo hash_file('md5', 'example.txt');
    
    //output: 5c6ffbdd40d9556b73a21e63c3e0e904
    

    md5还有另一种方式:

    string md5_file ( string $filename [, bool $raw_output = false ] ) 
    
  • 相关阅读:
    机器学习【工具】:Numpy
    机器学习【算法】:KNN近邻
    【笔记】:字典内部剖析
    【笔记】:谁偷了我的内存?
    什么是RESTful框架
    音频下载服务
    【模块】:Requests(二)
    【模块】:Weakref
    异步Web服务(二)
    【Win10】UAP/UWP/通用 开发之 RelativePanel
  • 原文地址:https://www.cnblogs.com/mslagee/p/6223140.html
Copyright © 2011-2022 走看看