How to perform hash operation on files in php_PHP tutorial

WBOY
Release: 2016-07-13 09:58:21
Original
1266 people have browsed it

How PHP performs hash operations on files

The details are as follows:

This code is very useful. If you download a file and the website provides a hash result, you can perform a hash operation on the file you downloaded to verify whether the downloaded file is correct.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

Hash (Check) Files

if(!empty($_FILES)){

if ($_FILES["file"]["error"] > 0){

switch($_FILES["file"]["error"]){

case 1:

echo "Error: The uploaded file exceeds the upload_max_filesize directive in php.ini
";

break;

case 2:

echo "Error: The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form.
";

break;

case 3:

echo "Error: The uploaded file was only partially uploaded.
";

break;

case 4:

echo "Error: No file was uploaded.
";

break;

case 6:

echo "Error: Missing a temporary folder.
";

break;

case 7:

echo "Error: Failed to write file to disk.
";

break;

case 8:

echo "Error: A PHP extension stopped the file upload.
";

break;

default:

echo "Unknown error occured.
";

}

} else {

echo 'Upload: ' . $_FILES['file']['name'] . '
';

echo 'Type: ' . $_FILES['file']['type'] . '
';

echo 'Size: ' . (round($_FILES['file']['size'] / 1024, 2)) . ' Kb

';

if(array_search($_POST['algo'], hash_algos())===false){

echo 'Unknown hashing algorithm requested.
';

} else {

echo 'Hashing Algorithm: '. $_POST['algo'] . '
';

$hash = hash_file($_POST['algo'], $_FILES['file']['tmp_name']);

echo 'Calculated hash: ' . $hash . '
';

if($_POST['exphash']!=='none' && !empty($_POST['exphash'])){

echo 'Expected hash: ' . $_POST['exphash'] . '

';

echo ($hash==$_POST['exphash'])? 'Hash matched expected value.' : 'Hash did not match expected value.';

echo '
';

}

}

}

?>


} else {

?>




Choose an algorithm (This is the list of all the available algorithms in your php installation)

foreach(hash_algos() as $algo){

if($algo=='md5'){

echo "
";

} else {

echo "
";

}

}

?>

}

?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/978261.htmlTechArticlephp对文件进行hash运算的方法 具体如下: 这段代码非常有用,如果你下载了一个文件,网站提供了hash结果,你可以对你下载下来的文件进行...
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!