ホームページ >バックエンド開発 >PHPチュートリアル >PHPはファイルに対してハッシュ操作を実行します

PHPはファイルに対してハッシュ操作を実行します

WBOY
WBOYオリジナル
2016-07-25 08:43:181045ブラウズ

このコードは非常に便利です。ファイルをダウンロードし、Web サイトがハッシュ結果を提供する場合、ダウンロードしたファイルに対してハッシュ操作を実行して、ダウンロードしたファイルが正しいかどうかを確認できます。

  1. ハッシュ (チェック) ファイル
  2. if(!empty($_FILES)){
  3. if ($_FILES["ファイル" ]["error"] > 0){
  4. switch($_FILES["file"]["error"]){
  5. case 1:
  6. echo "エラー: アップロードされたファイルphp.ini
    のupload_max_filesizeディレクティブを超えています";
  7. break;
  8. case 2:
  9. echo "エラー:アップロードされたファイルは、指定されたMAX_FILE_SIZEディレクティブを超えています
    ";
  10. Break;
  11. case 3:
  12. echo "エラー: アップロードされたファイルは部分的にのみアップロードされました。";
  13. Break;
  14. case 4:
  15. echo "エラー: ファイルがアップロードされませんでした。
    ";
  16. Break;
  17. case 6:
  18. echo "エラー: 一時フォルダーが見つかりません。
    ";
  19. ブレーク;
  20. case 7:
  21. echo "エラー: ファイルをディスクに書き込むことができませんでした。
    ";
  22. Break;
  23. case 8:
  24. echo "エラー: PHP 拡張機能により、ファイルのアップロード。
    ";
  25. Break;
  26. デフォルト:
  27. echo "不明なエラーが発生しました。
    ";
  28. }
  29. } else {
  30. echo 'アップロード: ' . $_FILES['ファイル']['名前'] 。 '
    ';
  31. echo 'Type: ' 。 $_FILES['ファイル']['タイプ'] 。 '
    ';
  32. echo 'サイズ: ' 。 (round($_FILES['file']['size'] / 1024, 2)) 。 ' Kb

    ';
  33. if(array_search($_POST['algo'], hash_algos())===false){
  34. echo '不明なハッシュ アルゴリズムが要求されました。
    ';
  35. } else {
  36. echo 'ハッシュ アルゴリズム: '. $_POST['アルゴ'] 。 '
    ';
  37. $hash = hash_file($_POST['algo'], $_FILES['file']['tmp_name']);
  38. echo '計算されたハッシュ: ' 。 $ハッシュ 。 '
    ';
  39. if($_POST['exphash']!=='none' && !empty($_POST['exphash'])){
  40. echo '期待されるハッシュ:   ' 。 $_POST['exphash'] 。 '

    ';
  41. エコー ($hash==$_POST['exphash'])? 'ハッシュが期待値と一致しました。' : 'ハッシュが期待値と一致しませんでした。';
  42. echo '
    ';
  43. }
  44. }
  45. }
  46. ?>

  47. }else {
  48. ?>



  49. アルゴリズムを選択してください (これは、php インストールで使用可能なすべてのアルゴリズムのリストです)
  50. foreach(hash_algos() as $algo){
  51. if($algo=='md5'){
  52. echo "
    ";
  53. } else {
  54. echo "
    ";
  55. }
  56. }
  57. ?>
  58. }
  59. ?>
复制代

php、ハッシュ


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。